home *** CD-ROM | disk | FTP | other *** search
/ Isometric Game Programming with DirectX 7.0 / Isometric Game Programming.iso / directx / dxf / include / strmif.h < prev    next >
Encoding:
C/C++ Source or Header  |  2000-10-27  |  768.1 KB  |  26,662 lines

  1.  
  2. #pragma warning( disable: 4049 )  /* more than 64k source lines */
  3.  
  4. /* this ALWAYS GENERATED file contains the definitions for the interfaces */
  5.  
  6.  
  7.  /* File created by MIDL compiler version 6.00.0338 */
  8. /* Compiler settings for strmif.idl:
  9.     Oicf, W1, Zp8, env=Win32 (32b run)
  10.     protocol : dce , ms_ext, c_ext
  11.     error checks: allocation ref bounds_check enum stub_data 
  12.     VC __declspec() decoration level: 
  13.          __declspec(uuid()), __declspec(selectany), __declspec(novtable)
  14.          DECLSPEC_UUID(), MIDL_INTERFACE()
  15. */
  16. //@@MIDL_FILE_HEADING(  )
  17.  
  18.  
  19. /* verify that the <rpcndr.h> version is high enough to compile this file*/
  20. #ifndef __REQUIRED_RPCNDR_H_VERSION__
  21. #define __REQUIRED_RPCNDR_H_VERSION__ 440
  22. #endif
  23.  
  24. #include "rpc.h"
  25. #include "rpcndr.h"
  26.  
  27. #ifndef __RPCNDR_H_VERSION__
  28. #error this stub requires an updated version of <rpcndr.h>
  29. #endif // __RPCNDR_H_VERSION__
  30.  
  31. #ifndef COM_NO_WINDOWS_H
  32. #include "windows.h"
  33. #include "ole2.h"
  34. #endif /*COM_NO_WINDOWS_H*/
  35.  
  36. #ifndef __strmif_h__
  37. #define __strmif_h__
  38.  
  39. #if defined(_MSC_VER) && (_MSC_VER >= 1020)
  40. #pragma once
  41. #endif
  42.  
  43. /* Forward Declarations */ 
  44.  
  45. #ifndef __ICreateDevEnum_FWD_DEFINED__
  46. #define __ICreateDevEnum_FWD_DEFINED__
  47. typedef interface ICreateDevEnum ICreateDevEnum;
  48. #endif     /* __ICreateDevEnum_FWD_DEFINED__ */
  49.  
  50.  
  51. #ifndef __IPin_FWD_DEFINED__
  52. #define __IPin_FWD_DEFINED__
  53. typedef interface IPin IPin;
  54. #endif     /* __IPin_FWD_DEFINED__ */
  55.  
  56.  
  57. #ifndef __IEnumPins_FWD_DEFINED__
  58. #define __IEnumPins_FWD_DEFINED__
  59. typedef interface IEnumPins IEnumPins;
  60. #endif     /* __IEnumPins_FWD_DEFINED__ */
  61.  
  62.  
  63. #ifndef __IEnumMediaTypes_FWD_DEFINED__
  64. #define __IEnumMediaTypes_FWD_DEFINED__
  65. typedef interface IEnumMediaTypes IEnumMediaTypes;
  66. #endif     /* __IEnumMediaTypes_FWD_DEFINED__ */
  67.  
  68.  
  69. #ifndef __IFilterGraph_FWD_DEFINED__
  70. #define __IFilterGraph_FWD_DEFINED__
  71. typedef interface IFilterGraph IFilterGraph;
  72. #endif     /* __IFilterGraph_FWD_DEFINED__ */
  73.  
  74.  
  75. #ifndef __IEnumFilters_FWD_DEFINED__
  76. #define __IEnumFilters_FWD_DEFINED__
  77. typedef interface IEnumFilters IEnumFilters;
  78. #endif     /* __IEnumFilters_FWD_DEFINED__ */
  79.  
  80.  
  81. #ifndef __IMediaFilter_FWD_DEFINED__
  82. #define __IMediaFilter_FWD_DEFINED__
  83. typedef interface IMediaFilter IMediaFilter;
  84. #endif     /* __IMediaFilter_FWD_DEFINED__ */
  85.  
  86.  
  87. #ifndef __IBaseFilter_FWD_DEFINED__
  88. #define __IBaseFilter_FWD_DEFINED__
  89. typedef interface IBaseFilter IBaseFilter;
  90. #endif     /* __IBaseFilter_FWD_DEFINED__ */
  91.  
  92.  
  93. #ifndef __IReferenceClock_FWD_DEFINED__
  94. #define __IReferenceClock_FWD_DEFINED__
  95. typedef interface IReferenceClock IReferenceClock;
  96. #endif     /* __IReferenceClock_FWD_DEFINED__ */
  97.  
  98.  
  99. #ifndef __IReferenceClock2_FWD_DEFINED__
  100. #define __IReferenceClock2_FWD_DEFINED__
  101. typedef interface IReferenceClock2 IReferenceClock2;
  102. #endif     /* __IReferenceClock2_FWD_DEFINED__ */
  103.  
  104.  
  105. #ifndef __IMediaSample_FWD_DEFINED__
  106. #define __IMediaSample_FWD_DEFINED__
  107. typedef interface IMediaSample IMediaSample;
  108. #endif     /* __IMediaSample_FWD_DEFINED__ */
  109.  
  110.  
  111. #ifndef __IMediaSample2_FWD_DEFINED__
  112. #define __IMediaSample2_FWD_DEFINED__
  113. typedef interface IMediaSample2 IMediaSample2;
  114. #endif     /* __IMediaSample2_FWD_DEFINED__ */
  115.  
  116.  
  117. #ifndef __IMemAllocator_FWD_DEFINED__
  118. #define __IMemAllocator_FWD_DEFINED__
  119. typedef interface IMemAllocator IMemAllocator;
  120. #endif     /* __IMemAllocator_FWD_DEFINED__ */
  121.  
  122.  
  123. #ifndef __IMemAllocatorCallbackTemp_FWD_DEFINED__
  124. #define __IMemAllocatorCallbackTemp_FWD_DEFINED__
  125. typedef interface IMemAllocatorCallbackTemp IMemAllocatorCallbackTemp;
  126. #endif     /* __IMemAllocatorCallbackTemp_FWD_DEFINED__ */
  127.  
  128.  
  129. #ifndef __IMemAllocatorNotifyCallbackTemp_FWD_DEFINED__
  130. #define __IMemAllocatorNotifyCallbackTemp_FWD_DEFINED__
  131. typedef interface IMemAllocatorNotifyCallbackTemp IMemAllocatorNotifyCallbackTemp;
  132. #endif     /* __IMemAllocatorNotifyCallbackTemp_FWD_DEFINED__ */
  133.  
  134.  
  135. #ifndef __IMemInputPin_FWD_DEFINED__
  136. #define __IMemInputPin_FWD_DEFINED__
  137. typedef interface IMemInputPin IMemInputPin;
  138. #endif     /* __IMemInputPin_FWD_DEFINED__ */
  139.  
  140.  
  141. #ifndef __IAMovieSetup_FWD_DEFINED__
  142. #define __IAMovieSetup_FWD_DEFINED__
  143. typedef interface IAMovieSetup IAMovieSetup;
  144. #endif     /* __IAMovieSetup_FWD_DEFINED__ */
  145.  
  146.  
  147. #ifndef __IMediaSeeking_FWD_DEFINED__
  148. #define __IMediaSeeking_FWD_DEFINED__
  149. typedef interface IMediaSeeking IMediaSeeking;
  150. #endif     /* __IMediaSeeking_FWD_DEFINED__ */
  151.  
  152.  
  153. #ifndef __IEnumRegFilters_FWD_DEFINED__
  154. #define __IEnumRegFilters_FWD_DEFINED__
  155. typedef interface IEnumRegFilters IEnumRegFilters;
  156. #endif     /* __IEnumRegFilters_FWD_DEFINED__ */
  157.  
  158.  
  159. #ifndef __IFilterMapper_FWD_DEFINED__
  160. #define __IFilterMapper_FWD_DEFINED__
  161. typedef interface IFilterMapper IFilterMapper;
  162. #endif     /* __IFilterMapper_FWD_DEFINED__ */
  163.  
  164.  
  165. #ifndef __IFilterMapper2_FWD_DEFINED__
  166. #define __IFilterMapper2_FWD_DEFINED__
  167. typedef interface IFilterMapper2 IFilterMapper2;
  168. #endif     /* __IFilterMapper2_FWD_DEFINED__ */
  169.  
  170.  
  171. #ifndef __IFilterMapper3_FWD_DEFINED__
  172. #define __IFilterMapper3_FWD_DEFINED__
  173. typedef interface IFilterMapper3 IFilterMapper3;
  174. #endif     /* __IFilterMapper3_FWD_DEFINED__ */
  175.  
  176.  
  177. #ifndef __IQualityControl_FWD_DEFINED__
  178. #define __IQualityControl_FWD_DEFINED__
  179. typedef interface IQualityControl IQualityControl;
  180. #endif     /* __IQualityControl_FWD_DEFINED__ */
  181.  
  182.  
  183. #ifndef __IOverlayNotify_FWD_DEFINED__
  184. #define __IOverlayNotify_FWD_DEFINED__
  185. typedef interface IOverlayNotify IOverlayNotify;
  186. #endif     /* __IOverlayNotify_FWD_DEFINED__ */
  187.  
  188.  
  189. #ifndef __IOverlayNotify2_FWD_DEFINED__
  190. #define __IOverlayNotify2_FWD_DEFINED__
  191. typedef interface IOverlayNotify2 IOverlayNotify2;
  192. #endif     /* __IOverlayNotify2_FWD_DEFINED__ */
  193.  
  194.  
  195. #ifndef __IOverlay_FWD_DEFINED__
  196. #define __IOverlay_FWD_DEFINED__
  197. typedef interface IOverlay IOverlay;
  198. #endif     /* __IOverlay_FWD_DEFINED__ */
  199.  
  200.  
  201. #ifndef __IMediaEventSink_FWD_DEFINED__
  202. #define __IMediaEventSink_FWD_DEFINED__
  203. typedef interface IMediaEventSink IMediaEventSink;
  204. #endif     /* __IMediaEventSink_FWD_DEFINED__ */
  205.  
  206.  
  207. #ifndef __IFileSourceFilter_FWD_DEFINED__
  208. #define __IFileSourceFilter_FWD_DEFINED__
  209. typedef interface IFileSourceFilter IFileSourceFilter;
  210. #endif     /* __IFileSourceFilter_FWD_DEFINED__ */
  211.  
  212.  
  213. #ifndef __IFileSinkFilter_FWD_DEFINED__
  214. #define __IFileSinkFilter_FWD_DEFINED__
  215. typedef interface IFileSinkFilter IFileSinkFilter;
  216. #endif     /* __IFileSinkFilter_FWD_DEFINED__ */
  217.  
  218.  
  219. #ifndef __IFileSinkFilter2_FWD_DEFINED__
  220. #define __IFileSinkFilter2_FWD_DEFINED__
  221. typedef interface IFileSinkFilter2 IFileSinkFilter2;
  222. #endif     /* __IFileSinkFilter2_FWD_DEFINED__ */
  223.  
  224.  
  225. #ifndef __IGraphBuilder_FWD_DEFINED__
  226. #define __IGraphBuilder_FWD_DEFINED__
  227. typedef interface IGraphBuilder IGraphBuilder;
  228. #endif     /* __IGraphBuilder_FWD_DEFINED__ */
  229.  
  230.  
  231. #ifndef __ICaptureGraphBuilder_FWD_DEFINED__
  232. #define __ICaptureGraphBuilder_FWD_DEFINED__
  233. typedef interface ICaptureGraphBuilder ICaptureGraphBuilder;
  234. #endif     /* __ICaptureGraphBuilder_FWD_DEFINED__ */
  235.  
  236.  
  237. #ifndef __IAMCopyCaptureFileProgress_FWD_DEFINED__
  238. #define __IAMCopyCaptureFileProgress_FWD_DEFINED__
  239. typedef interface IAMCopyCaptureFileProgress IAMCopyCaptureFileProgress;
  240. #endif     /* __IAMCopyCaptureFileProgress_FWD_DEFINED__ */
  241.  
  242.  
  243. #ifndef __ICaptureGraphBuilder2_FWD_DEFINED__
  244. #define __ICaptureGraphBuilder2_FWD_DEFINED__
  245. typedef interface ICaptureGraphBuilder2 ICaptureGraphBuilder2;
  246. #endif     /* __ICaptureGraphBuilder2_FWD_DEFINED__ */
  247.  
  248.  
  249. #ifndef __IFilterGraph2_FWD_DEFINED__
  250. #define __IFilterGraph2_FWD_DEFINED__
  251. typedef interface IFilterGraph2 IFilterGraph2;
  252. #endif     /* __IFilterGraph2_FWD_DEFINED__ */
  253.  
  254.  
  255. #ifndef __IStreamBuilder_FWD_DEFINED__
  256. #define __IStreamBuilder_FWD_DEFINED__
  257. typedef interface IStreamBuilder IStreamBuilder;
  258. #endif     /* __IStreamBuilder_FWD_DEFINED__ */
  259.  
  260.  
  261. #ifndef __IAsyncReader_FWD_DEFINED__
  262. #define __IAsyncReader_FWD_DEFINED__
  263. typedef interface IAsyncReader IAsyncReader;
  264. #endif     /* __IAsyncReader_FWD_DEFINED__ */
  265.  
  266.  
  267. #ifndef __IGraphVersion_FWD_DEFINED__
  268. #define __IGraphVersion_FWD_DEFINED__
  269. typedef interface IGraphVersion IGraphVersion;
  270. #endif     /* __IGraphVersion_FWD_DEFINED__ */
  271.  
  272.  
  273. #ifndef __IResourceConsumer_FWD_DEFINED__
  274. #define __IResourceConsumer_FWD_DEFINED__
  275. typedef interface IResourceConsumer IResourceConsumer;
  276. #endif     /* __IResourceConsumer_FWD_DEFINED__ */
  277.  
  278.  
  279. #ifndef __IResourceManager_FWD_DEFINED__
  280. #define __IResourceManager_FWD_DEFINED__
  281. typedef interface IResourceManager IResourceManager;
  282. #endif     /* __IResourceManager_FWD_DEFINED__ */
  283.  
  284.  
  285. #ifndef __IDistributorNotify_FWD_DEFINED__
  286. #define __IDistributorNotify_FWD_DEFINED__
  287. typedef interface IDistributorNotify IDistributorNotify;
  288. #endif     /* __IDistributorNotify_FWD_DEFINED__ */
  289.  
  290.  
  291. #ifndef __IAMStreamControl_FWD_DEFINED__
  292. #define __IAMStreamControl_FWD_DEFINED__
  293. typedef interface IAMStreamControl IAMStreamControl;
  294. #endif     /* __IAMStreamControl_FWD_DEFINED__ */
  295.  
  296.  
  297. #ifndef __ISeekingPassThru_FWD_DEFINED__
  298. #define __ISeekingPassThru_FWD_DEFINED__
  299. typedef interface ISeekingPassThru ISeekingPassThru;
  300. #endif     /* __ISeekingPassThru_FWD_DEFINED__ */
  301.  
  302.  
  303. #ifndef __IAMStreamConfig_FWD_DEFINED__
  304. #define __IAMStreamConfig_FWD_DEFINED__
  305. typedef interface IAMStreamConfig IAMStreamConfig;
  306. #endif     /* __IAMStreamConfig_FWD_DEFINED__ */
  307.  
  308.  
  309. #ifndef __IConfigInterleaving_FWD_DEFINED__
  310. #define __IConfigInterleaving_FWD_DEFINED__
  311. typedef interface IConfigInterleaving IConfigInterleaving;
  312. #endif     /* __IConfigInterleaving_FWD_DEFINED__ */
  313.  
  314.  
  315. #ifndef __IConfigAviMux_FWD_DEFINED__
  316. #define __IConfigAviMux_FWD_DEFINED__
  317. typedef interface IConfigAviMux IConfigAviMux;
  318. #endif     /* __IConfigAviMux_FWD_DEFINED__ */
  319.  
  320.  
  321. #ifndef __IAMVideoCompression_FWD_DEFINED__
  322. #define __IAMVideoCompression_FWD_DEFINED__
  323. typedef interface IAMVideoCompression IAMVideoCompression;
  324. #endif     /* __IAMVideoCompression_FWD_DEFINED__ */
  325.  
  326.  
  327. #ifndef __IAMVfwCaptureDialogs_FWD_DEFINED__
  328. #define __IAMVfwCaptureDialogs_FWD_DEFINED__
  329. typedef interface IAMVfwCaptureDialogs IAMVfwCaptureDialogs;
  330. #endif     /* __IAMVfwCaptureDialogs_FWD_DEFINED__ */
  331.  
  332.  
  333. #ifndef __IAMVfwCompressDialogs_FWD_DEFINED__
  334. #define __IAMVfwCompressDialogs_FWD_DEFINED__
  335. typedef interface IAMVfwCompressDialogs IAMVfwCompressDialogs;
  336. #endif     /* __IAMVfwCompressDialogs_FWD_DEFINED__ */
  337.  
  338.  
  339. #ifndef __IAMDroppedFrames_FWD_DEFINED__
  340. #define __IAMDroppedFrames_FWD_DEFINED__
  341. typedef interface IAMDroppedFrames IAMDroppedFrames;
  342. #endif     /* __IAMDroppedFrames_FWD_DEFINED__ */
  343.  
  344.  
  345. #ifndef __IAMAudioInputMixer_FWD_DEFINED__
  346. #define __IAMAudioInputMixer_FWD_DEFINED__
  347. typedef interface IAMAudioInputMixer IAMAudioInputMixer;
  348. #endif     /* __IAMAudioInputMixer_FWD_DEFINED__ */
  349.  
  350.  
  351. #ifndef __IAMBufferNegotiation_FWD_DEFINED__
  352. #define __IAMBufferNegotiation_FWD_DEFINED__
  353. typedef interface IAMBufferNegotiation IAMBufferNegotiation;
  354. #endif     /* __IAMBufferNegotiation_FWD_DEFINED__ */
  355.  
  356.  
  357. #ifndef __IAMAnalogVideoDecoder_FWD_DEFINED__
  358. #define __IAMAnalogVideoDecoder_FWD_DEFINED__
  359. typedef interface IAMAnalogVideoDecoder IAMAnalogVideoDecoder;
  360. #endif     /* __IAMAnalogVideoDecoder_FWD_DEFINED__ */
  361.  
  362.  
  363. #ifndef __IAMVideoProcAmp_FWD_DEFINED__
  364. #define __IAMVideoProcAmp_FWD_DEFINED__
  365. typedef interface IAMVideoProcAmp IAMVideoProcAmp;
  366. #endif     /* __IAMVideoProcAmp_FWD_DEFINED__ */
  367.  
  368.  
  369. #ifndef __IAMCameraControl_FWD_DEFINED__
  370. #define __IAMCameraControl_FWD_DEFINED__
  371. typedef interface IAMCameraControl IAMCameraControl;
  372. #endif     /* __IAMCameraControl_FWD_DEFINED__ */
  373.  
  374.  
  375. #ifndef __IAMVideoControl_FWD_DEFINED__
  376. #define __IAMVideoControl_FWD_DEFINED__
  377. typedef interface IAMVideoControl IAMVideoControl;
  378. #endif     /* __IAMVideoControl_FWD_DEFINED__ */
  379.  
  380.  
  381. #ifndef __IAMCrossbar_FWD_DEFINED__
  382. #define __IAMCrossbar_FWD_DEFINED__
  383. typedef interface IAMCrossbar IAMCrossbar;
  384. #endif     /* __IAMCrossbar_FWD_DEFINED__ */
  385.  
  386.  
  387. #ifndef __IAMTuner_FWD_DEFINED__
  388. #define __IAMTuner_FWD_DEFINED__
  389. typedef interface IAMTuner IAMTuner;
  390. #endif     /* __IAMTuner_FWD_DEFINED__ */
  391.  
  392.  
  393. #ifndef __IAMTunerNotification_FWD_DEFINED__
  394. #define __IAMTunerNotification_FWD_DEFINED__
  395. typedef interface IAMTunerNotification IAMTunerNotification;
  396. #endif     /* __IAMTunerNotification_FWD_DEFINED__ */
  397.  
  398.  
  399. #ifndef __IAMTVTuner_FWD_DEFINED__
  400. #define __IAMTVTuner_FWD_DEFINED__
  401. typedef interface IAMTVTuner IAMTVTuner;
  402. #endif     /* __IAMTVTuner_FWD_DEFINED__ */
  403.  
  404.  
  405. #ifndef __IBPCSatelliteTuner_FWD_DEFINED__
  406. #define __IBPCSatelliteTuner_FWD_DEFINED__
  407. typedef interface IBPCSatelliteTuner IBPCSatelliteTuner;
  408. #endif     /* __IBPCSatelliteTuner_FWD_DEFINED__ */
  409.  
  410.  
  411. #ifndef __IAMTVAudio_FWD_DEFINED__
  412. #define __IAMTVAudio_FWD_DEFINED__
  413. typedef interface IAMTVAudio IAMTVAudio;
  414. #endif     /* __IAMTVAudio_FWD_DEFINED__ */
  415.  
  416.  
  417. #ifndef __IAMTVAudioNotification_FWD_DEFINED__
  418. #define __IAMTVAudioNotification_FWD_DEFINED__
  419. typedef interface IAMTVAudioNotification IAMTVAudioNotification;
  420. #endif     /* __IAMTVAudioNotification_FWD_DEFINED__ */
  421.  
  422.  
  423. #ifndef __IAMAnalogVideoEncoder_FWD_DEFINED__
  424. #define __IAMAnalogVideoEncoder_FWD_DEFINED__
  425. typedef interface IAMAnalogVideoEncoder IAMAnalogVideoEncoder;
  426. #endif     /* __IAMAnalogVideoEncoder_FWD_DEFINED__ */
  427.  
  428.  
  429. #ifndef __IKsPropertySet_FWD_DEFINED__
  430. #define __IKsPropertySet_FWD_DEFINED__
  431. typedef interface IKsPropertySet IKsPropertySet;
  432. #endif     /* __IKsPropertySet_FWD_DEFINED__ */
  433.  
  434.  
  435. #ifndef __IMediaPropertyBag_FWD_DEFINED__
  436. #define __IMediaPropertyBag_FWD_DEFINED__
  437. typedef interface IMediaPropertyBag IMediaPropertyBag;
  438. #endif     /* __IMediaPropertyBag_FWD_DEFINED__ */
  439.  
  440.  
  441. #ifndef __IPersistMediaPropertyBag_FWD_DEFINED__
  442. #define __IPersistMediaPropertyBag_FWD_DEFINED__
  443. typedef interface IPersistMediaPropertyBag IPersistMediaPropertyBag;
  444. #endif     /* __IPersistMediaPropertyBag_FWD_DEFINED__ */
  445.  
  446.  
  447. #ifndef __IAMPhysicalPinInfo_FWD_DEFINED__
  448. #define __IAMPhysicalPinInfo_FWD_DEFINED__
  449. typedef interface IAMPhysicalPinInfo IAMPhysicalPinInfo;
  450. #endif     /* __IAMPhysicalPinInfo_FWD_DEFINED__ */
  451.  
  452.  
  453. #ifndef __IAMExtDevice_FWD_DEFINED__
  454. #define __IAMExtDevice_FWD_DEFINED__
  455. typedef interface IAMExtDevice IAMExtDevice;
  456. #endif     /* __IAMExtDevice_FWD_DEFINED__ */
  457.  
  458.  
  459. #ifndef __IAMExtTransport_FWD_DEFINED__
  460. #define __IAMExtTransport_FWD_DEFINED__
  461. typedef interface IAMExtTransport IAMExtTransport;
  462. #endif     /* __IAMExtTransport_FWD_DEFINED__ */
  463.  
  464.  
  465. #ifndef __IAMTimecodeReader_FWD_DEFINED__
  466. #define __IAMTimecodeReader_FWD_DEFINED__
  467. typedef interface IAMTimecodeReader IAMTimecodeReader;
  468. #endif     /* __IAMTimecodeReader_FWD_DEFINED__ */
  469.  
  470.  
  471. #ifndef __IAMTimecodeGenerator_FWD_DEFINED__
  472. #define __IAMTimecodeGenerator_FWD_DEFINED__
  473. typedef interface IAMTimecodeGenerator IAMTimecodeGenerator;
  474. #endif     /* __IAMTimecodeGenerator_FWD_DEFINED__ */
  475.  
  476.  
  477. #ifndef __IAMTimecodeDisplay_FWD_DEFINED__
  478. #define __IAMTimecodeDisplay_FWD_DEFINED__
  479. typedef interface IAMTimecodeDisplay IAMTimecodeDisplay;
  480. #endif     /* __IAMTimecodeDisplay_FWD_DEFINED__ */
  481.  
  482.  
  483. #ifndef __IAMDevMemoryAllocator_FWD_DEFINED__
  484. #define __IAMDevMemoryAllocator_FWD_DEFINED__
  485. typedef interface IAMDevMemoryAllocator IAMDevMemoryAllocator;
  486. #endif     /* __IAMDevMemoryAllocator_FWD_DEFINED__ */
  487.  
  488.  
  489. #ifndef __IAMDevMemoryControl_FWD_DEFINED__
  490. #define __IAMDevMemoryControl_FWD_DEFINED__
  491. typedef interface IAMDevMemoryControl IAMDevMemoryControl;
  492. #endif     /* __IAMDevMemoryControl_FWD_DEFINED__ */
  493.  
  494.  
  495. #ifndef __IAMStreamSelect_FWD_DEFINED__
  496. #define __IAMStreamSelect_FWD_DEFINED__
  497. typedef interface IAMStreamSelect IAMStreamSelect;
  498. #endif     /* __IAMStreamSelect_FWD_DEFINED__ */
  499.  
  500.  
  501. #ifndef __IAMResourceControl_FWD_DEFINED__
  502. #define __IAMResourceControl_FWD_DEFINED__
  503. typedef interface IAMResourceControl IAMResourceControl;
  504. #endif     /* __IAMResourceControl_FWD_DEFINED__ */
  505.  
  506.  
  507. #ifndef __IAMClockAdjust_FWD_DEFINED__
  508. #define __IAMClockAdjust_FWD_DEFINED__
  509. typedef interface IAMClockAdjust IAMClockAdjust;
  510. #endif     /* __IAMClockAdjust_FWD_DEFINED__ */
  511.  
  512.  
  513. #ifndef __IAMFilterMiscFlags_FWD_DEFINED__
  514. #define __IAMFilterMiscFlags_FWD_DEFINED__
  515. typedef interface IAMFilterMiscFlags IAMFilterMiscFlags;
  516. #endif     /* __IAMFilterMiscFlags_FWD_DEFINED__ */
  517.  
  518.  
  519. #ifndef __IDrawVideoImage_FWD_DEFINED__
  520. #define __IDrawVideoImage_FWD_DEFINED__
  521. typedef interface IDrawVideoImage IDrawVideoImage;
  522. #endif     /* __IDrawVideoImage_FWD_DEFINED__ */
  523.  
  524.  
  525. #ifndef __IDecimateVideoImage_FWD_DEFINED__
  526. #define __IDecimateVideoImage_FWD_DEFINED__
  527. typedef interface IDecimateVideoImage IDecimateVideoImage;
  528. #endif     /* __IDecimateVideoImage_FWD_DEFINED__ */
  529.  
  530.  
  531. #ifndef __IAMVideoDecimationProperties_FWD_DEFINED__
  532. #define __IAMVideoDecimationProperties_FWD_DEFINED__
  533. typedef interface IAMVideoDecimationProperties IAMVideoDecimationProperties;
  534. #endif     /* __IAMVideoDecimationProperties_FWD_DEFINED__ */
  535.  
  536.  
  537. #ifndef __IVideoFrameStep_FWD_DEFINED__
  538. #define __IVideoFrameStep_FWD_DEFINED__
  539. typedef interface IVideoFrameStep IVideoFrameStep;
  540. #endif     /* __IVideoFrameStep_FWD_DEFINED__ */
  541.  
  542.  
  543. #ifndef __IAMLatency_FWD_DEFINED__
  544. #define __IAMLatency_FWD_DEFINED__
  545. typedef interface IAMLatency IAMLatency;
  546. #endif     /* __IAMLatency_FWD_DEFINED__ */
  547.  
  548.  
  549. #ifndef __IAMPushSource_FWD_DEFINED__
  550. #define __IAMPushSource_FWD_DEFINED__
  551. typedef interface IAMPushSource IAMPushSource;
  552. #endif     /* __IAMPushSource_FWD_DEFINED__ */
  553.  
  554.  
  555. #ifndef __IAMDeviceRemoval_FWD_DEFINED__
  556. #define __IAMDeviceRemoval_FWD_DEFINED__
  557. typedef interface IAMDeviceRemoval IAMDeviceRemoval;
  558. #endif     /* __IAMDeviceRemoval_FWD_DEFINED__ */
  559.  
  560.  
  561. #ifndef __IDVEnc_FWD_DEFINED__
  562. #define __IDVEnc_FWD_DEFINED__
  563. typedef interface IDVEnc IDVEnc;
  564. #endif     /* __IDVEnc_FWD_DEFINED__ */
  565.  
  566.  
  567. #ifndef __IIPDVDec_FWD_DEFINED__
  568. #define __IIPDVDec_FWD_DEFINED__
  569. typedef interface IIPDVDec IIPDVDec;
  570. #endif     /* __IIPDVDec_FWD_DEFINED__ */
  571.  
  572.  
  573. #ifndef __IDVSplitter_FWD_DEFINED__
  574. #define __IDVSplitter_FWD_DEFINED__
  575. typedef interface IDVSplitter IDVSplitter;
  576. #endif     /* __IDVSplitter_FWD_DEFINED__ */
  577.  
  578.  
  579. #ifndef __IAMAudioRendererStats_FWD_DEFINED__
  580. #define __IAMAudioRendererStats_FWD_DEFINED__
  581. typedef interface IAMAudioRendererStats IAMAudioRendererStats;
  582. #endif     /* __IAMAudioRendererStats_FWD_DEFINED__ */
  583.  
  584.  
  585. #ifndef __IAMGraphStreams_FWD_DEFINED__
  586. #define __IAMGraphStreams_FWD_DEFINED__
  587. typedef interface IAMGraphStreams IAMGraphStreams;
  588. #endif     /* __IAMGraphStreams_FWD_DEFINED__ */
  589.  
  590.  
  591. #ifndef __IAMOverlayFX_FWD_DEFINED__
  592. #define __IAMOverlayFX_FWD_DEFINED__
  593. typedef interface IAMOverlayFX IAMOverlayFX;
  594. #endif     /* __IAMOverlayFX_FWD_DEFINED__ */
  595.  
  596.  
  597. #ifndef __IAMOpenProgress_FWD_DEFINED__
  598. #define __IAMOpenProgress_FWD_DEFINED__
  599. typedef interface IAMOpenProgress IAMOpenProgress;
  600. #endif     /* __IAMOpenProgress_FWD_DEFINED__ */
  601.  
  602.  
  603. #ifndef __IMpeg2Demultiplexer_FWD_DEFINED__
  604. #define __IMpeg2Demultiplexer_FWD_DEFINED__
  605. typedef interface IMpeg2Demultiplexer IMpeg2Demultiplexer;
  606. #endif     /* __IMpeg2Demultiplexer_FWD_DEFINED__ */
  607.  
  608.  
  609. #ifndef __IEnumStreamIdMap_FWD_DEFINED__
  610. #define __IEnumStreamIdMap_FWD_DEFINED__
  611. typedef interface IEnumStreamIdMap IEnumStreamIdMap;
  612. #endif     /* __IEnumStreamIdMap_FWD_DEFINED__ */
  613.  
  614.  
  615. #ifndef __IMPEG2StreamIdMap_FWD_DEFINED__
  616. #define __IMPEG2StreamIdMap_FWD_DEFINED__
  617. typedef interface IMPEG2StreamIdMap IMPEG2StreamIdMap;
  618. #endif     /* __IMPEG2StreamIdMap_FWD_DEFINED__ */
  619.  
  620.  
  621. #ifndef __IAMovie_FWD_DEFINED__
  622. #define __IAMovie_FWD_DEFINED__
  623. typedef interface IAMovie IAMovie;
  624. #endif     /* __IAMovie_FWD_DEFINED__ */
  625.  
  626.  
  627. #ifndef __IDvdControl_FWD_DEFINED__
  628. #define __IDvdControl_FWD_DEFINED__
  629. typedef interface IDvdControl IDvdControl;
  630. #endif     /* __IDvdControl_FWD_DEFINED__ */
  631.  
  632.  
  633. #ifndef __IDvdInfo_FWD_DEFINED__
  634. #define __IDvdInfo_FWD_DEFINED__
  635. typedef interface IDvdInfo IDvdInfo;
  636. #endif     /* __IDvdInfo_FWD_DEFINED__ */
  637.  
  638.  
  639. #ifndef __IDvdCmd_FWD_DEFINED__
  640. #define __IDvdCmd_FWD_DEFINED__
  641. typedef interface IDvdCmd IDvdCmd;
  642. #endif     /* __IDvdCmd_FWD_DEFINED__ */
  643.  
  644.  
  645. #ifndef __IDvdState_FWD_DEFINED__
  646. #define __IDvdState_FWD_DEFINED__
  647. typedef interface IDvdState IDvdState;
  648. #endif     /* __IDvdState_FWD_DEFINED__ */
  649.  
  650.  
  651. #ifndef __IDvdControl2_FWD_DEFINED__
  652. #define __IDvdControl2_FWD_DEFINED__
  653. typedef interface IDvdControl2 IDvdControl2;
  654. #endif     /* __IDvdControl2_FWD_DEFINED__ */
  655.  
  656.  
  657. #ifndef __IDvdInfo2_FWD_DEFINED__
  658. #define __IDvdInfo2_FWD_DEFINED__
  659. typedef interface IDvdInfo2 IDvdInfo2;
  660. #endif     /* __IDvdInfo2_FWD_DEFINED__ */
  661.  
  662.  
  663. #ifndef __IDvdGraphBuilder_FWD_DEFINED__
  664. #define __IDvdGraphBuilder_FWD_DEFINED__
  665. typedef interface IDvdGraphBuilder IDvdGraphBuilder;
  666. #endif     /* __IDvdGraphBuilder_FWD_DEFINED__ */
  667.  
  668.  
  669. #ifndef __IDDrawExclModeVideo_FWD_DEFINED__
  670. #define __IDDrawExclModeVideo_FWD_DEFINED__
  671. typedef interface IDDrawExclModeVideo IDDrawExclModeVideo;
  672. #endif     /* __IDDrawExclModeVideo_FWD_DEFINED__ */
  673.  
  674.  
  675. #ifndef __IDDrawExclModeVideoCallback_FWD_DEFINED__
  676. #define __IDDrawExclModeVideoCallback_FWD_DEFINED__
  677. typedef interface IDDrawExclModeVideoCallback IDDrawExclModeVideoCallback;
  678. #endif     /* __IDDrawExclModeVideoCallback_FWD_DEFINED__ */
  679.  
  680.  
  681. #ifndef __IPinConnection_FWD_DEFINED__
  682. #define __IPinConnection_FWD_DEFINED__
  683. typedef interface IPinConnection IPinConnection;
  684. #endif     /* __IPinConnection_FWD_DEFINED__ */
  685.  
  686.  
  687. #ifndef __IPinFlowControl_FWD_DEFINED__
  688. #define __IPinFlowControl_FWD_DEFINED__
  689. typedef interface IPinFlowControl IPinFlowControl;
  690. #endif     /* __IPinFlowControl_FWD_DEFINED__ */
  691.  
  692.  
  693. #ifndef __IGraphConfig_FWD_DEFINED__
  694. #define __IGraphConfig_FWD_DEFINED__
  695. typedef interface IGraphConfig IGraphConfig;
  696. #endif     /* __IGraphConfig_FWD_DEFINED__ */
  697.  
  698.  
  699. #ifndef __IGraphConfigCallback_FWD_DEFINED__
  700. #define __IGraphConfigCallback_FWD_DEFINED__
  701. typedef interface IGraphConfigCallback IGraphConfigCallback;
  702. #endif     /* __IGraphConfigCallback_FWD_DEFINED__ */
  703.  
  704.  
  705. #ifndef __IFilterChain_FWD_DEFINED__
  706. #define __IFilterChain_FWD_DEFINED__
  707. typedef interface IFilterChain IFilterChain;
  708. #endif     /* __IFilterChain_FWD_DEFINED__ */
  709.  
  710.  
  711. /* header files for imported files */
  712. #include "unknwn.h"
  713. #include "objidl.h"
  714. #include "oaidl.h"
  715. #include "ocidl.h"
  716.  
  717. #ifdef __cplusplus
  718. extern "C"{
  719. #endif 
  720.  
  721. void * __RPC_USER MIDL_user_allocate(size_t);
  722. void __RPC_USER MIDL_user_free( void * ); 
  723.  
  724. /* interface __MIDL_itf_strmif_0000 */
  725. /* [local] */ 
  726.  
  727. #define CDEF_CLASS_DEFAULT      0x0001
  728. #define CDEF_BYPASS_CLASS_MANAGER   0x0002
  729. #define CDEF_MERIT_ABOVE_DO_NOT_USE  0x0008
  730.  
  731.  
  732. extern RPC_IF_HANDLE __MIDL_itf_strmif_0000_v0_0_c_ifspec;
  733. extern RPC_IF_HANDLE __MIDL_itf_strmif_0000_v0_0_s_ifspec;
  734.  
  735. #ifndef __ICreateDevEnum_INTERFACE_DEFINED__
  736. #define __ICreateDevEnum_INTERFACE_DEFINED__
  737.  
  738. /* interface ICreateDevEnum */
  739. /* [unique][uuid][object] */ 
  740.  
  741.  
  742. EXTERN_C const IID IID_ICreateDevEnum;
  743.  
  744. #if defined(__cplusplus) && !defined(CINTERFACE)
  745.     
  746.     MIDL_INTERFACE("29840822-5B84-11D0-BD3B-00A0C911CE86")
  747.     ICreateDevEnum : public IUnknown
  748.     {
  749.     public:
  750.         virtual HRESULT STDMETHODCALLTYPE CreateClassEnumerator( 
  751.             /* [in] */ REFCLSID clsidDeviceClass,
  752.             /* [out] */ IEnumMoniker **ppEnumMoniker,
  753.             /* [in] */ DWORD dwFlags) = 0;
  754.         
  755.     };
  756.     
  757. #else     /* C style interface */
  758.  
  759.     typedef struct ICreateDevEnumVtbl
  760.     {
  761.         BEGIN_INTERFACE
  762.         
  763.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  764.             ICreateDevEnum * This,
  765.             /* [in] */ REFIID riid,
  766.             /* [iid_is][out] */ void **ppvObject);
  767.         
  768.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  769.             ICreateDevEnum * This);
  770.         
  771.         ULONG ( STDMETHODCALLTYPE *Release )( 
  772.             ICreateDevEnum * This);
  773.         
  774.         HRESULT ( STDMETHODCALLTYPE *CreateClassEnumerator )( 
  775.             ICreateDevEnum * This,
  776.             /* [in] */ REFCLSID clsidDeviceClass,
  777.             /* [out] */ IEnumMoniker **ppEnumMoniker,
  778.             /* [in] */ DWORD dwFlags);
  779.         
  780.         END_INTERFACE
  781.     } ICreateDevEnumVtbl;
  782.  
  783.     interface ICreateDevEnum
  784.     {
  785.         CONST_VTBL struct ICreateDevEnumVtbl *lpVtbl;
  786.     };
  787.  
  788.     
  789.  
  790. #ifdef COBJMACROS
  791.  
  792.  
  793. #define ICreateDevEnum_QueryInterface(This,riid,ppvObject)    \
  794.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  795.  
  796. #define ICreateDevEnum_AddRef(This)    \
  797.     (This)->lpVtbl -> AddRef(This)
  798.  
  799. #define ICreateDevEnum_Release(This)    \
  800.     (This)->lpVtbl -> Release(This)
  801.  
  802.  
  803. #define ICreateDevEnum_CreateClassEnumerator(This,clsidDeviceClass,ppEnumMoniker,dwFlags)    \
  804.     (This)->lpVtbl -> CreateClassEnumerator(This,clsidDeviceClass,ppEnumMoniker,dwFlags)
  805.  
  806. #endif /* COBJMACROS */
  807.  
  808.  
  809. #endif     /* C style interface */
  810.  
  811.  
  812.  
  813. HRESULT STDMETHODCALLTYPE ICreateDevEnum_CreateClassEnumerator_Proxy( 
  814.     ICreateDevEnum * This,
  815.     /* [in] */ REFCLSID clsidDeviceClass,
  816.     /* [out] */ IEnumMoniker **ppEnumMoniker,
  817.     /* [in] */ DWORD dwFlags);
  818.  
  819.  
  820. void __RPC_STUB ICreateDevEnum_CreateClassEnumerator_Stub(
  821.     IRpcStubBuffer *This,
  822.     IRpcChannelBuffer *_pRpcChannelBuffer,
  823.     PRPC_MESSAGE _pRpcMessage,
  824.     DWORD *_pdwStubPhase);
  825.  
  826.  
  827.  
  828. #endif     /* __ICreateDevEnum_INTERFACE_DEFINED__ */
  829.  
  830.  
  831. /* interface __MIDL_itf_strmif_0108 */
  832. /* [local] */ 
  833.  
  834. #define CHARS_IN_GUID     39
  835. typedef struct _AMMediaType
  836.     {
  837.     GUID majortype;
  838.     GUID subtype;
  839.     BOOL bFixedSizeSamples;
  840.     BOOL bTemporalCompression;
  841.     ULONG lSampleSize;
  842.     GUID formattype;
  843.     IUnknown *pUnk;
  844.     ULONG cbFormat;
  845.     /* [size_is] */ BYTE *pbFormat;
  846.     }     AM_MEDIA_TYPE;
  847.  
  848. typedef 
  849. enum _PinDirection
  850.     {    PINDIR_INPUT    = 0,
  851.     PINDIR_OUTPUT    = PINDIR_INPUT + 1
  852.     }     PIN_DIRECTION;
  853.  
  854. #define MAX_PIN_NAME     128
  855. #define MAX_FILTER_NAME  128
  856. typedef LONGLONG REFERENCE_TIME;
  857.  
  858. typedef double REFTIME;
  859.  
  860. typedef DWORD_PTR HSEMAPHORE;
  861.  
  862. typedef DWORD_PTR HEVENT;
  863.  
  864. typedef struct _AllocatorProperties
  865.     {
  866.     long cBuffers;
  867.     long cbBuffer;
  868.     long cbAlign;
  869.     long cbPrefix;
  870.     }     ALLOCATOR_PROPERTIES;
  871.  
  872.  
  873.  
  874.  
  875.  
  876.  
  877.  
  878.  
  879.  
  880.  
  881.  
  882.  
  883.  
  884.  
  885.  
  886.  
  887.  
  888. extern RPC_IF_HANDLE __MIDL_itf_strmif_0108_v0_0_c_ifspec;
  889. extern RPC_IF_HANDLE __MIDL_itf_strmif_0108_v0_0_s_ifspec;
  890.  
  891. #ifndef __IPin_INTERFACE_DEFINED__
  892. #define __IPin_INTERFACE_DEFINED__
  893.  
  894. /* interface IPin */
  895. /* [unique][uuid][object] */ 
  896.  
  897. typedef struct _PinInfo
  898.     {
  899.     IBaseFilter *pFilter;
  900.     PIN_DIRECTION dir;
  901.     WCHAR achName[ 128 ];
  902.     }     PIN_INFO;
  903.  
  904.  
  905. EXTERN_C const IID IID_IPin;
  906.  
  907. #if defined(__cplusplus) && !defined(CINTERFACE)
  908.     
  909.     MIDL_INTERFACE("56a86891-0ad4-11ce-b03a-0020af0ba770")
  910.     IPin : public IUnknown
  911.     {
  912.     public:
  913.         virtual HRESULT STDMETHODCALLTYPE Connect( 
  914.             /* [in] */ IPin *pReceivePin,
  915.             /* [in] */ const AM_MEDIA_TYPE *pmt) = 0;
  916.         
  917.         virtual HRESULT STDMETHODCALLTYPE ReceiveConnection( 
  918.             /* [in] */ IPin *pConnector,
  919.             /* [in] */ const AM_MEDIA_TYPE *pmt) = 0;
  920.         
  921.         virtual HRESULT STDMETHODCALLTYPE Disconnect( void) = 0;
  922.         
  923.         virtual HRESULT STDMETHODCALLTYPE ConnectedTo( 
  924.             /* [out] */ IPin **pPin) = 0;
  925.         
  926.         virtual HRESULT STDMETHODCALLTYPE ConnectionMediaType( 
  927.             /* [out] */ AM_MEDIA_TYPE *pmt) = 0;
  928.         
  929.         virtual HRESULT STDMETHODCALLTYPE QueryPinInfo( 
  930.             /* [out] */ PIN_INFO *pInfo) = 0;
  931.         
  932.         virtual HRESULT STDMETHODCALLTYPE QueryDirection( 
  933.             /* [out] */ PIN_DIRECTION *pPinDir) = 0;
  934.         
  935.         virtual HRESULT STDMETHODCALLTYPE QueryId( 
  936.             /* [out] */ LPWSTR *Id) = 0;
  937.         
  938.         virtual HRESULT STDMETHODCALLTYPE QueryAccept( 
  939.             /* [in] */ const AM_MEDIA_TYPE *pmt) = 0;
  940.         
  941.         virtual HRESULT STDMETHODCALLTYPE EnumMediaTypes( 
  942.             /* [out] */ IEnumMediaTypes **ppEnum) = 0;
  943.         
  944.         virtual HRESULT STDMETHODCALLTYPE QueryInternalConnections( 
  945.             /* [out] */ IPin **apPin,
  946.             /* [out][in] */ ULONG *nPin) = 0;
  947.         
  948.         virtual HRESULT STDMETHODCALLTYPE EndOfStream( void) = 0;
  949.         
  950.         virtual HRESULT STDMETHODCALLTYPE BeginFlush( void) = 0;
  951.         
  952.         virtual HRESULT STDMETHODCALLTYPE EndFlush( void) = 0;
  953.         
  954.         virtual HRESULT STDMETHODCALLTYPE NewSegment( 
  955.             /* [in] */ REFERENCE_TIME tStart,
  956.             /* [in] */ REFERENCE_TIME tStop,
  957.             /* [in] */ double dRate) = 0;
  958.         
  959.     };
  960.     
  961. #else     /* C style interface */
  962.  
  963.     typedef struct IPinVtbl
  964.     {
  965.         BEGIN_INTERFACE
  966.         
  967.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  968.             IPin * This,
  969.             /* [in] */ REFIID riid,
  970.             /* [iid_is][out] */ void **ppvObject);
  971.         
  972.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  973.             IPin * This);
  974.         
  975.         ULONG ( STDMETHODCALLTYPE *Release )( 
  976.             IPin * This);
  977.         
  978.         HRESULT ( STDMETHODCALLTYPE *Connect )( 
  979.             IPin * This,
  980.             /* [in] */ IPin *pReceivePin,
  981.             /* [in] */ const AM_MEDIA_TYPE *pmt);
  982.         
  983.         HRESULT ( STDMETHODCALLTYPE *ReceiveConnection )( 
  984.             IPin * This,
  985.             /* [in] */ IPin *pConnector,
  986.             /* [in] */ const AM_MEDIA_TYPE *pmt);
  987.         
  988.         HRESULT ( STDMETHODCALLTYPE *Disconnect )( 
  989.             IPin * This);
  990.         
  991.         HRESULT ( STDMETHODCALLTYPE *ConnectedTo )( 
  992.             IPin * This,
  993.             /* [out] */ IPin **pPin);
  994.         
  995.         HRESULT ( STDMETHODCALLTYPE *ConnectionMediaType )( 
  996.             IPin * This,
  997.             /* [out] */ AM_MEDIA_TYPE *pmt);
  998.         
  999.         HRESULT ( STDMETHODCALLTYPE *QueryPinInfo )( 
  1000.             IPin * This,
  1001.             /* [out] */ PIN_INFO *pInfo);
  1002.         
  1003.         HRESULT ( STDMETHODCALLTYPE *QueryDirection )( 
  1004.             IPin * This,
  1005.             /* [out] */ PIN_DIRECTION *pPinDir);
  1006.         
  1007.         HRESULT ( STDMETHODCALLTYPE *QueryId )( 
  1008.             IPin * This,
  1009.             /* [out] */ LPWSTR *Id);
  1010.         
  1011.         HRESULT ( STDMETHODCALLTYPE *QueryAccept )( 
  1012.             IPin * This,
  1013.             /* [in] */ const AM_MEDIA_TYPE *pmt);
  1014.         
  1015.         HRESULT ( STDMETHODCALLTYPE *EnumMediaTypes )( 
  1016.             IPin * This,
  1017.             /* [out] */ IEnumMediaTypes **ppEnum);
  1018.         
  1019.         HRESULT ( STDMETHODCALLTYPE *QueryInternalConnections )( 
  1020.             IPin * This,
  1021.             /* [out] */ IPin **apPin,
  1022.             /* [out][in] */ ULONG *nPin);
  1023.         
  1024.         HRESULT ( STDMETHODCALLTYPE *EndOfStream )( 
  1025.             IPin * This);
  1026.         
  1027.         HRESULT ( STDMETHODCALLTYPE *BeginFlush )( 
  1028.             IPin * This);
  1029.         
  1030.         HRESULT ( STDMETHODCALLTYPE *EndFlush )( 
  1031.             IPin * This);
  1032.         
  1033.         HRESULT ( STDMETHODCALLTYPE *NewSegment )( 
  1034.             IPin * This,
  1035.             /* [in] */ REFERENCE_TIME tStart,
  1036.             /* [in] */ REFERENCE_TIME tStop,
  1037.             /* [in] */ double dRate);
  1038.         
  1039.         END_INTERFACE
  1040.     } IPinVtbl;
  1041.  
  1042.     interface IPin
  1043.     {
  1044.         CONST_VTBL struct IPinVtbl *lpVtbl;
  1045.     };
  1046.  
  1047.     
  1048.  
  1049. #ifdef COBJMACROS
  1050.  
  1051.  
  1052. #define IPin_QueryInterface(This,riid,ppvObject)    \
  1053.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1054.  
  1055. #define IPin_AddRef(This)    \
  1056.     (This)->lpVtbl -> AddRef(This)
  1057.  
  1058. #define IPin_Release(This)    \
  1059.     (This)->lpVtbl -> Release(This)
  1060.  
  1061.  
  1062. #define IPin_Connect(This,pReceivePin,pmt)    \
  1063.     (This)->lpVtbl -> Connect(This,pReceivePin,pmt)
  1064.  
  1065. #define IPin_ReceiveConnection(This,pConnector,pmt)    \
  1066.     (This)->lpVtbl -> ReceiveConnection(This,pConnector,pmt)
  1067.  
  1068. #define IPin_Disconnect(This)    \
  1069.     (This)->lpVtbl -> Disconnect(This)
  1070.  
  1071. #define IPin_ConnectedTo(This,pPin)    \
  1072.     (This)->lpVtbl -> ConnectedTo(This,pPin)
  1073.  
  1074. #define IPin_ConnectionMediaType(This,pmt)    \
  1075.     (This)->lpVtbl -> ConnectionMediaType(This,pmt)
  1076.  
  1077. #define IPin_QueryPinInfo(This,pInfo)    \
  1078.     (This)->lpVtbl -> QueryPinInfo(This,pInfo)
  1079.  
  1080. #define IPin_QueryDirection(This,pPinDir)    \
  1081.     (This)->lpVtbl -> QueryDirection(This,pPinDir)
  1082.  
  1083. #define IPin_QueryId(This,Id)    \
  1084.     (This)->lpVtbl -> QueryId(This,Id)
  1085.  
  1086. #define IPin_QueryAccept(This,pmt)    \
  1087.     (This)->lpVtbl -> QueryAccept(This,pmt)
  1088.  
  1089. #define IPin_EnumMediaTypes(This,ppEnum)    \
  1090.     (This)->lpVtbl -> EnumMediaTypes(This,ppEnum)
  1091.  
  1092. #define IPin_QueryInternalConnections(This,apPin,nPin)    \
  1093.     (This)->lpVtbl -> QueryInternalConnections(This,apPin,nPin)
  1094.  
  1095. #define IPin_EndOfStream(This)    \
  1096.     (This)->lpVtbl -> EndOfStream(This)
  1097.  
  1098. #define IPin_BeginFlush(This)    \
  1099.     (This)->lpVtbl -> BeginFlush(This)
  1100.  
  1101. #define IPin_EndFlush(This)    \
  1102.     (This)->lpVtbl -> EndFlush(This)
  1103.  
  1104. #define IPin_NewSegment(This,tStart,tStop,dRate)    \
  1105.     (This)->lpVtbl -> NewSegment(This,tStart,tStop,dRate)
  1106.  
  1107. #endif /* COBJMACROS */
  1108.  
  1109.  
  1110. #endif     /* C style interface */
  1111.  
  1112.  
  1113.  
  1114. HRESULT STDMETHODCALLTYPE IPin_Connect_Proxy( 
  1115.     IPin * This,
  1116.     /* [in] */ IPin *pReceivePin,
  1117.     /* [in] */ const AM_MEDIA_TYPE *pmt);
  1118.  
  1119.  
  1120. void __RPC_STUB IPin_Connect_Stub(
  1121.     IRpcStubBuffer *This,
  1122.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1123.     PRPC_MESSAGE _pRpcMessage,
  1124.     DWORD *_pdwStubPhase);
  1125.  
  1126.  
  1127. HRESULT STDMETHODCALLTYPE IPin_ReceiveConnection_Proxy( 
  1128.     IPin * This,
  1129.     /* [in] */ IPin *pConnector,
  1130.     /* [in] */ const AM_MEDIA_TYPE *pmt);
  1131.  
  1132.  
  1133. void __RPC_STUB IPin_ReceiveConnection_Stub(
  1134.     IRpcStubBuffer *This,
  1135.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1136.     PRPC_MESSAGE _pRpcMessage,
  1137.     DWORD *_pdwStubPhase);
  1138.  
  1139.  
  1140. HRESULT STDMETHODCALLTYPE IPin_Disconnect_Proxy( 
  1141.     IPin * This);
  1142.  
  1143.  
  1144. void __RPC_STUB IPin_Disconnect_Stub(
  1145.     IRpcStubBuffer *This,
  1146.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1147.     PRPC_MESSAGE _pRpcMessage,
  1148.     DWORD *_pdwStubPhase);
  1149.  
  1150.  
  1151. HRESULT STDMETHODCALLTYPE IPin_ConnectedTo_Proxy( 
  1152.     IPin * This,
  1153.     /* [out] */ IPin **pPin);
  1154.  
  1155.  
  1156. void __RPC_STUB IPin_ConnectedTo_Stub(
  1157.     IRpcStubBuffer *This,
  1158.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1159.     PRPC_MESSAGE _pRpcMessage,
  1160.     DWORD *_pdwStubPhase);
  1161.  
  1162.  
  1163. HRESULT STDMETHODCALLTYPE IPin_ConnectionMediaType_Proxy( 
  1164.     IPin * This,
  1165.     /* [out] */ AM_MEDIA_TYPE *pmt);
  1166.  
  1167.  
  1168. void __RPC_STUB IPin_ConnectionMediaType_Stub(
  1169.     IRpcStubBuffer *This,
  1170.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1171.     PRPC_MESSAGE _pRpcMessage,
  1172.     DWORD *_pdwStubPhase);
  1173.  
  1174.  
  1175. HRESULT STDMETHODCALLTYPE IPin_QueryPinInfo_Proxy( 
  1176.     IPin * This,
  1177.     /* [out] */ PIN_INFO *pInfo);
  1178.  
  1179.  
  1180. void __RPC_STUB IPin_QueryPinInfo_Stub(
  1181.     IRpcStubBuffer *This,
  1182.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1183.     PRPC_MESSAGE _pRpcMessage,
  1184.     DWORD *_pdwStubPhase);
  1185.  
  1186.  
  1187. HRESULT STDMETHODCALLTYPE IPin_QueryDirection_Proxy( 
  1188.     IPin * This,
  1189.     /* [out] */ PIN_DIRECTION *pPinDir);
  1190.  
  1191.  
  1192. void __RPC_STUB IPin_QueryDirection_Stub(
  1193.     IRpcStubBuffer *This,
  1194.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1195.     PRPC_MESSAGE _pRpcMessage,
  1196.     DWORD *_pdwStubPhase);
  1197.  
  1198.  
  1199. HRESULT STDMETHODCALLTYPE IPin_QueryId_Proxy( 
  1200.     IPin * This,
  1201.     /* [out] */ LPWSTR *Id);
  1202.  
  1203.  
  1204. void __RPC_STUB IPin_QueryId_Stub(
  1205.     IRpcStubBuffer *This,
  1206.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1207.     PRPC_MESSAGE _pRpcMessage,
  1208.     DWORD *_pdwStubPhase);
  1209.  
  1210.  
  1211. HRESULT STDMETHODCALLTYPE IPin_QueryAccept_Proxy( 
  1212.     IPin * This,
  1213.     /* [in] */ const AM_MEDIA_TYPE *pmt);
  1214.  
  1215.  
  1216. void __RPC_STUB IPin_QueryAccept_Stub(
  1217.     IRpcStubBuffer *This,
  1218.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1219.     PRPC_MESSAGE _pRpcMessage,
  1220.     DWORD *_pdwStubPhase);
  1221.  
  1222.  
  1223. HRESULT STDMETHODCALLTYPE IPin_EnumMediaTypes_Proxy( 
  1224.     IPin * This,
  1225.     /* [out] */ IEnumMediaTypes **ppEnum);
  1226.  
  1227.  
  1228. void __RPC_STUB IPin_EnumMediaTypes_Stub(
  1229.     IRpcStubBuffer *This,
  1230.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1231.     PRPC_MESSAGE _pRpcMessage,
  1232.     DWORD *_pdwStubPhase);
  1233.  
  1234.  
  1235. HRESULT STDMETHODCALLTYPE IPin_QueryInternalConnections_Proxy( 
  1236.     IPin * This,
  1237.     /* [out] */ IPin **apPin,
  1238.     /* [out][in] */ ULONG *nPin);
  1239.  
  1240.  
  1241. void __RPC_STUB IPin_QueryInternalConnections_Stub(
  1242.     IRpcStubBuffer *This,
  1243.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1244.     PRPC_MESSAGE _pRpcMessage,
  1245.     DWORD *_pdwStubPhase);
  1246.  
  1247.  
  1248. HRESULT STDMETHODCALLTYPE IPin_EndOfStream_Proxy( 
  1249.     IPin * This);
  1250.  
  1251.  
  1252. void __RPC_STUB IPin_EndOfStream_Stub(
  1253.     IRpcStubBuffer *This,
  1254.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1255.     PRPC_MESSAGE _pRpcMessage,
  1256.     DWORD *_pdwStubPhase);
  1257.  
  1258.  
  1259. HRESULT STDMETHODCALLTYPE IPin_BeginFlush_Proxy( 
  1260.     IPin * This);
  1261.  
  1262.  
  1263. void __RPC_STUB IPin_BeginFlush_Stub(
  1264.     IRpcStubBuffer *This,
  1265.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1266.     PRPC_MESSAGE _pRpcMessage,
  1267.     DWORD *_pdwStubPhase);
  1268.  
  1269.  
  1270. HRESULT STDMETHODCALLTYPE IPin_EndFlush_Proxy( 
  1271.     IPin * This);
  1272.  
  1273.  
  1274. void __RPC_STUB IPin_EndFlush_Stub(
  1275.     IRpcStubBuffer *This,
  1276.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1277.     PRPC_MESSAGE _pRpcMessage,
  1278.     DWORD *_pdwStubPhase);
  1279.  
  1280.  
  1281. HRESULT STDMETHODCALLTYPE IPin_NewSegment_Proxy( 
  1282.     IPin * This,
  1283.     /* [in] */ REFERENCE_TIME tStart,
  1284.     /* [in] */ REFERENCE_TIME tStop,
  1285.     /* [in] */ double dRate);
  1286.  
  1287.  
  1288. void __RPC_STUB IPin_NewSegment_Stub(
  1289.     IRpcStubBuffer *This,
  1290.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1291.     PRPC_MESSAGE _pRpcMessage,
  1292.     DWORD *_pdwStubPhase);
  1293.  
  1294.  
  1295.  
  1296. #endif     /* __IPin_INTERFACE_DEFINED__ */
  1297.  
  1298.  
  1299. /* interface __MIDL_itf_strmif_0109 */
  1300. /* [local] */ 
  1301.  
  1302. typedef IPin *PPIN;
  1303.  
  1304.  
  1305.  
  1306. extern RPC_IF_HANDLE __MIDL_itf_strmif_0109_v0_0_c_ifspec;
  1307. extern RPC_IF_HANDLE __MIDL_itf_strmif_0109_v0_0_s_ifspec;
  1308.  
  1309. #ifndef __IEnumPins_INTERFACE_DEFINED__
  1310. #define __IEnumPins_INTERFACE_DEFINED__
  1311.  
  1312. /* interface IEnumPins */
  1313. /* [unique][uuid][object] */ 
  1314.  
  1315.  
  1316. EXTERN_C const IID IID_IEnumPins;
  1317.  
  1318. #if defined(__cplusplus) && !defined(CINTERFACE)
  1319.     
  1320.     MIDL_INTERFACE("56a86892-0ad4-11ce-b03a-0020af0ba770")
  1321.     IEnumPins : public IUnknown
  1322.     {
  1323.     public:
  1324.         virtual HRESULT STDMETHODCALLTYPE Next( 
  1325.             /* [in] */ ULONG cPins,
  1326.             /* [size_is][out] */ IPin **ppPins,
  1327.             /* [out] */ ULONG *pcFetched) = 0;
  1328.         
  1329.         virtual HRESULT STDMETHODCALLTYPE Skip( 
  1330.             /* [in] */ ULONG cPins) = 0;
  1331.         
  1332.         virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;
  1333.         
  1334.         virtual HRESULT STDMETHODCALLTYPE Clone( 
  1335.             /* [out] */ IEnumPins **ppEnum) = 0;
  1336.         
  1337.     };
  1338.     
  1339. #else     /* C style interface */
  1340.  
  1341.     typedef struct IEnumPinsVtbl
  1342.     {
  1343.         BEGIN_INTERFACE
  1344.         
  1345.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1346.             IEnumPins * This,
  1347.             /* [in] */ REFIID riid,
  1348.             /* [iid_is][out] */ void **ppvObject);
  1349.         
  1350.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1351.             IEnumPins * This);
  1352.         
  1353.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1354.             IEnumPins * This);
  1355.         
  1356.         HRESULT ( STDMETHODCALLTYPE *Next )( 
  1357.             IEnumPins * This,
  1358.             /* [in] */ ULONG cPins,
  1359.             /* [size_is][out] */ IPin **ppPins,
  1360.             /* [out] */ ULONG *pcFetched);
  1361.         
  1362.         HRESULT ( STDMETHODCALLTYPE *Skip )( 
  1363.             IEnumPins * This,
  1364.             /* [in] */ ULONG cPins);
  1365.         
  1366.         HRESULT ( STDMETHODCALLTYPE *Reset )( 
  1367.             IEnumPins * This);
  1368.         
  1369.         HRESULT ( STDMETHODCALLTYPE *Clone )( 
  1370.             IEnumPins * This,
  1371.             /* [out] */ IEnumPins **ppEnum);
  1372.         
  1373.         END_INTERFACE
  1374.     } IEnumPinsVtbl;
  1375.  
  1376.     interface IEnumPins
  1377.     {
  1378.         CONST_VTBL struct IEnumPinsVtbl *lpVtbl;
  1379.     };
  1380.  
  1381.     
  1382.  
  1383. #ifdef COBJMACROS
  1384.  
  1385.  
  1386. #define IEnumPins_QueryInterface(This,riid,ppvObject)    \
  1387.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1388.  
  1389. #define IEnumPins_AddRef(This)    \
  1390.     (This)->lpVtbl -> AddRef(This)
  1391.  
  1392. #define IEnumPins_Release(This)    \
  1393.     (This)->lpVtbl -> Release(This)
  1394.  
  1395.  
  1396. #define IEnumPins_Next(This,cPins,ppPins,pcFetched)    \
  1397.     (This)->lpVtbl -> Next(This,cPins,ppPins,pcFetched)
  1398.  
  1399. #define IEnumPins_Skip(This,cPins)    \
  1400.     (This)->lpVtbl -> Skip(This,cPins)
  1401.  
  1402. #define IEnumPins_Reset(This)    \
  1403.     (This)->lpVtbl -> Reset(This)
  1404.  
  1405. #define IEnumPins_Clone(This,ppEnum)    \
  1406.     (This)->lpVtbl -> Clone(This,ppEnum)
  1407.  
  1408. #endif /* COBJMACROS */
  1409.  
  1410.  
  1411. #endif     /* C style interface */
  1412.  
  1413.  
  1414.  
  1415. HRESULT STDMETHODCALLTYPE IEnumPins_Next_Proxy( 
  1416.     IEnumPins * This,
  1417.     /* [in] */ ULONG cPins,
  1418.     /* [size_is][out] */ IPin **ppPins,
  1419.     /* [out] */ ULONG *pcFetched);
  1420.  
  1421.  
  1422. void __RPC_STUB IEnumPins_Next_Stub(
  1423.     IRpcStubBuffer *This,
  1424.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1425.     PRPC_MESSAGE _pRpcMessage,
  1426.     DWORD *_pdwStubPhase);
  1427.  
  1428.  
  1429. HRESULT STDMETHODCALLTYPE IEnumPins_Skip_Proxy( 
  1430.     IEnumPins * This,
  1431.     /* [in] */ ULONG cPins);
  1432.  
  1433.  
  1434. void __RPC_STUB IEnumPins_Skip_Stub(
  1435.     IRpcStubBuffer *This,
  1436.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1437.     PRPC_MESSAGE _pRpcMessage,
  1438.     DWORD *_pdwStubPhase);
  1439.  
  1440.  
  1441. HRESULT STDMETHODCALLTYPE IEnumPins_Reset_Proxy( 
  1442.     IEnumPins * This);
  1443.  
  1444.  
  1445. void __RPC_STUB IEnumPins_Reset_Stub(
  1446.     IRpcStubBuffer *This,
  1447.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1448.     PRPC_MESSAGE _pRpcMessage,
  1449.     DWORD *_pdwStubPhase);
  1450.  
  1451.  
  1452. HRESULT STDMETHODCALLTYPE IEnumPins_Clone_Proxy( 
  1453.     IEnumPins * This,
  1454.     /* [out] */ IEnumPins **ppEnum);
  1455.  
  1456.  
  1457. void __RPC_STUB IEnumPins_Clone_Stub(
  1458.     IRpcStubBuffer *This,
  1459.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1460.     PRPC_MESSAGE _pRpcMessage,
  1461.     DWORD *_pdwStubPhase);
  1462.  
  1463.  
  1464.  
  1465. #endif     /* __IEnumPins_INTERFACE_DEFINED__ */
  1466.  
  1467.  
  1468. /* interface __MIDL_itf_strmif_0110 */
  1469. /* [local] */ 
  1470.  
  1471. typedef IEnumPins *PENUMPINS;
  1472.  
  1473.  
  1474.  
  1475. extern RPC_IF_HANDLE __MIDL_itf_strmif_0110_v0_0_c_ifspec;
  1476. extern RPC_IF_HANDLE __MIDL_itf_strmif_0110_v0_0_s_ifspec;
  1477.  
  1478. #ifndef __IEnumMediaTypes_INTERFACE_DEFINED__
  1479. #define __IEnumMediaTypes_INTERFACE_DEFINED__
  1480.  
  1481. /* interface IEnumMediaTypes */
  1482. /* [unique][uuid][object] */ 
  1483.  
  1484.  
  1485. EXTERN_C const IID IID_IEnumMediaTypes;
  1486.  
  1487. #if defined(__cplusplus) && !defined(CINTERFACE)
  1488.     
  1489.     MIDL_INTERFACE("89c31040-846b-11ce-97d3-00aa0055595a")
  1490.     IEnumMediaTypes : public IUnknown
  1491.     {
  1492.     public:
  1493.         virtual HRESULT STDMETHODCALLTYPE Next( 
  1494.             /* [in] */ ULONG cMediaTypes,
  1495.             /* [size_is][out] */ AM_MEDIA_TYPE **ppMediaTypes,
  1496.             /* [out] */ ULONG *pcFetched) = 0;
  1497.         
  1498.         virtual HRESULT STDMETHODCALLTYPE Skip( 
  1499.             /* [in] */ ULONG cMediaTypes) = 0;
  1500.         
  1501.         virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;
  1502.         
  1503.         virtual HRESULT STDMETHODCALLTYPE Clone( 
  1504.             /* [out] */ IEnumMediaTypes **ppEnum) = 0;
  1505.         
  1506.     };
  1507.     
  1508. #else     /* C style interface */
  1509.  
  1510.     typedef struct IEnumMediaTypesVtbl
  1511.     {
  1512.         BEGIN_INTERFACE
  1513.         
  1514.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1515.             IEnumMediaTypes * This,
  1516.             /* [in] */ REFIID riid,
  1517.             /* [iid_is][out] */ void **ppvObject);
  1518.         
  1519.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1520.             IEnumMediaTypes * This);
  1521.         
  1522.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1523.             IEnumMediaTypes * This);
  1524.         
  1525.         HRESULT ( STDMETHODCALLTYPE *Next )( 
  1526.             IEnumMediaTypes * This,
  1527.             /* [in] */ ULONG cMediaTypes,
  1528.             /* [size_is][out] */ AM_MEDIA_TYPE **ppMediaTypes,
  1529.             /* [out] */ ULONG *pcFetched);
  1530.         
  1531.         HRESULT ( STDMETHODCALLTYPE *Skip )( 
  1532.             IEnumMediaTypes * This,
  1533.             /* [in] */ ULONG cMediaTypes);
  1534.         
  1535.         HRESULT ( STDMETHODCALLTYPE *Reset )( 
  1536.             IEnumMediaTypes * This);
  1537.         
  1538.         HRESULT ( STDMETHODCALLTYPE *Clone )( 
  1539.             IEnumMediaTypes * This,
  1540.             /* [out] */ IEnumMediaTypes **ppEnum);
  1541.         
  1542.         END_INTERFACE
  1543.     } IEnumMediaTypesVtbl;
  1544.  
  1545.     interface IEnumMediaTypes
  1546.     {
  1547.         CONST_VTBL struct IEnumMediaTypesVtbl *lpVtbl;
  1548.     };
  1549.  
  1550.     
  1551.  
  1552. #ifdef COBJMACROS
  1553.  
  1554.  
  1555. #define IEnumMediaTypes_QueryInterface(This,riid,ppvObject)    \
  1556.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1557.  
  1558. #define IEnumMediaTypes_AddRef(This)    \
  1559.     (This)->lpVtbl -> AddRef(This)
  1560.  
  1561. #define IEnumMediaTypes_Release(This)    \
  1562.     (This)->lpVtbl -> Release(This)
  1563.  
  1564.  
  1565. #define IEnumMediaTypes_Next(This,cMediaTypes,ppMediaTypes,pcFetched)    \
  1566.     (This)->lpVtbl -> Next(This,cMediaTypes,ppMediaTypes,pcFetched)
  1567.  
  1568. #define IEnumMediaTypes_Skip(This,cMediaTypes)    \
  1569.     (This)->lpVtbl -> Skip(This,cMediaTypes)
  1570.  
  1571. #define IEnumMediaTypes_Reset(This)    \
  1572.     (This)->lpVtbl -> Reset(This)
  1573.  
  1574. #define IEnumMediaTypes_Clone(This,ppEnum)    \
  1575.     (This)->lpVtbl -> Clone(This,ppEnum)
  1576.  
  1577. #endif /* COBJMACROS */
  1578.  
  1579.  
  1580. #endif     /* C style interface */
  1581.  
  1582.  
  1583.  
  1584. HRESULT STDMETHODCALLTYPE IEnumMediaTypes_Next_Proxy( 
  1585.     IEnumMediaTypes * This,
  1586.     /* [in] */ ULONG cMediaTypes,
  1587.     /* [size_is][out] */ AM_MEDIA_TYPE **ppMediaTypes,
  1588.     /* [out] */ ULONG *pcFetched);
  1589.  
  1590.  
  1591. void __RPC_STUB IEnumMediaTypes_Next_Stub(
  1592.     IRpcStubBuffer *This,
  1593.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1594.     PRPC_MESSAGE _pRpcMessage,
  1595.     DWORD *_pdwStubPhase);
  1596.  
  1597.  
  1598. HRESULT STDMETHODCALLTYPE IEnumMediaTypes_Skip_Proxy( 
  1599.     IEnumMediaTypes * This,
  1600.     /* [in] */ ULONG cMediaTypes);
  1601.  
  1602.  
  1603. void __RPC_STUB IEnumMediaTypes_Skip_Stub(
  1604.     IRpcStubBuffer *This,
  1605.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1606.     PRPC_MESSAGE _pRpcMessage,
  1607.     DWORD *_pdwStubPhase);
  1608.  
  1609.  
  1610. HRESULT STDMETHODCALLTYPE IEnumMediaTypes_Reset_Proxy( 
  1611.     IEnumMediaTypes * This);
  1612.  
  1613.  
  1614. void __RPC_STUB IEnumMediaTypes_Reset_Stub(
  1615.     IRpcStubBuffer *This,
  1616.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1617.     PRPC_MESSAGE _pRpcMessage,
  1618.     DWORD *_pdwStubPhase);
  1619.  
  1620.  
  1621. HRESULT STDMETHODCALLTYPE IEnumMediaTypes_Clone_Proxy( 
  1622.     IEnumMediaTypes * This,
  1623.     /* [out] */ IEnumMediaTypes **ppEnum);
  1624.  
  1625.  
  1626. void __RPC_STUB IEnumMediaTypes_Clone_Stub(
  1627.     IRpcStubBuffer *This,
  1628.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1629.     PRPC_MESSAGE _pRpcMessage,
  1630.     DWORD *_pdwStubPhase);
  1631.  
  1632.  
  1633.  
  1634. #endif     /* __IEnumMediaTypes_INTERFACE_DEFINED__ */
  1635.  
  1636.  
  1637. /* interface __MIDL_itf_strmif_0111 */
  1638. /* [local] */ 
  1639.  
  1640. typedef IEnumMediaTypes *PENUMMEDIATYPES;
  1641.  
  1642.  
  1643.  
  1644. extern RPC_IF_HANDLE __MIDL_itf_strmif_0111_v0_0_c_ifspec;
  1645. extern RPC_IF_HANDLE __MIDL_itf_strmif_0111_v0_0_s_ifspec;
  1646.  
  1647. #ifndef __IFilterGraph_INTERFACE_DEFINED__
  1648. #define __IFilterGraph_INTERFACE_DEFINED__
  1649.  
  1650. /* interface IFilterGraph */
  1651. /* [unique][uuid][object] */ 
  1652.  
  1653.  
  1654. EXTERN_C const IID IID_IFilterGraph;
  1655.  
  1656. #if defined(__cplusplus) && !defined(CINTERFACE)
  1657.     
  1658.     MIDL_INTERFACE("56a8689f-0ad4-11ce-b03a-0020af0ba770")
  1659.     IFilterGraph : public IUnknown
  1660.     {
  1661.     public:
  1662.         virtual HRESULT STDMETHODCALLTYPE AddFilter( 
  1663.             /* [in] */ IBaseFilter *pFilter,
  1664.             /* [string][in] */ LPCWSTR pName) = 0;
  1665.         
  1666.         virtual HRESULT STDMETHODCALLTYPE RemoveFilter( 
  1667.             /* [in] */ IBaseFilter *pFilter) = 0;
  1668.         
  1669.         virtual HRESULT STDMETHODCALLTYPE EnumFilters( 
  1670.             /* [out] */ IEnumFilters **ppEnum) = 0;
  1671.         
  1672.         virtual HRESULT STDMETHODCALLTYPE FindFilterByName( 
  1673.             /* [string][in] */ LPCWSTR pName,
  1674.             /* [out] */ IBaseFilter **ppFilter) = 0;
  1675.         
  1676.         virtual HRESULT STDMETHODCALLTYPE ConnectDirect( 
  1677.             /* [in] */ IPin *ppinOut,
  1678.             /* [in] */ IPin *ppinIn,
  1679.             /* [unique][in] */ const AM_MEDIA_TYPE *pmt) = 0;
  1680.         
  1681.         virtual HRESULT STDMETHODCALLTYPE Reconnect( 
  1682.             /* [in] */ IPin *ppin) = 0;
  1683.         
  1684.         virtual HRESULT STDMETHODCALLTYPE Disconnect( 
  1685.             /* [in] */ IPin *ppin) = 0;
  1686.         
  1687.         virtual HRESULT STDMETHODCALLTYPE SetDefaultSyncSource( void) = 0;
  1688.         
  1689.     };
  1690.     
  1691. #else     /* C style interface */
  1692.  
  1693.     typedef struct IFilterGraphVtbl
  1694.     {
  1695.         BEGIN_INTERFACE
  1696.         
  1697.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1698.             IFilterGraph * This,
  1699.             /* [in] */ REFIID riid,
  1700.             /* [iid_is][out] */ void **ppvObject);
  1701.         
  1702.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1703.             IFilterGraph * This);
  1704.         
  1705.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1706.             IFilterGraph * This);
  1707.         
  1708.         HRESULT ( STDMETHODCALLTYPE *AddFilter )( 
  1709.             IFilterGraph * This,
  1710.             /* [in] */ IBaseFilter *pFilter,
  1711.             /* [string][in] */ LPCWSTR pName);
  1712.         
  1713.         HRESULT ( STDMETHODCALLTYPE *RemoveFilter )( 
  1714.             IFilterGraph * This,
  1715.             /* [in] */ IBaseFilter *pFilter);
  1716.         
  1717.         HRESULT ( STDMETHODCALLTYPE *EnumFilters )( 
  1718.             IFilterGraph * This,
  1719.             /* [out] */ IEnumFilters **ppEnum);
  1720.         
  1721.         HRESULT ( STDMETHODCALLTYPE *FindFilterByName )( 
  1722.             IFilterGraph * This,
  1723.             /* [string][in] */ LPCWSTR pName,
  1724.             /* [out] */ IBaseFilter **ppFilter);
  1725.         
  1726.         HRESULT ( STDMETHODCALLTYPE *ConnectDirect )( 
  1727.             IFilterGraph * This,
  1728.             /* [in] */ IPin *ppinOut,
  1729.             /* [in] */ IPin *ppinIn,
  1730.             /* [unique][in] */ const AM_MEDIA_TYPE *pmt);
  1731.         
  1732.         HRESULT ( STDMETHODCALLTYPE *Reconnect )( 
  1733.             IFilterGraph * This,
  1734.             /* [in] */ IPin *ppin);
  1735.         
  1736.         HRESULT ( STDMETHODCALLTYPE *Disconnect )( 
  1737.             IFilterGraph * This,
  1738.             /* [in] */ IPin *ppin);
  1739.         
  1740.         HRESULT ( STDMETHODCALLTYPE *SetDefaultSyncSource )( 
  1741.             IFilterGraph * This);
  1742.         
  1743.         END_INTERFACE
  1744.     } IFilterGraphVtbl;
  1745.  
  1746.     interface IFilterGraph
  1747.     {
  1748.         CONST_VTBL struct IFilterGraphVtbl *lpVtbl;
  1749.     };
  1750.  
  1751.     
  1752.  
  1753. #ifdef COBJMACROS
  1754.  
  1755.  
  1756. #define IFilterGraph_QueryInterface(This,riid,ppvObject)    \
  1757.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1758.  
  1759. #define IFilterGraph_AddRef(This)    \
  1760.     (This)->lpVtbl -> AddRef(This)
  1761.  
  1762. #define IFilterGraph_Release(This)    \
  1763.     (This)->lpVtbl -> Release(This)
  1764.  
  1765.  
  1766. #define IFilterGraph_AddFilter(This,pFilter,pName)    \
  1767.     (This)->lpVtbl -> AddFilter(This,pFilter,pName)
  1768.  
  1769. #define IFilterGraph_RemoveFilter(This,pFilter)    \
  1770.     (This)->lpVtbl -> RemoveFilter(This,pFilter)
  1771.  
  1772. #define IFilterGraph_EnumFilters(This,ppEnum)    \
  1773.     (This)->lpVtbl -> EnumFilters(This,ppEnum)
  1774.  
  1775. #define IFilterGraph_FindFilterByName(This,pName,ppFilter)    \
  1776.     (This)->lpVtbl -> FindFilterByName(This,pName,ppFilter)
  1777.  
  1778. #define IFilterGraph_ConnectDirect(This,ppinOut,ppinIn,pmt)    \
  1779.     (This)->lpVtbl -> ConnectDirect(This,ppinOut,ppinIn,pmt)
  1780.  
  1781. #define IFilterGraph_Reconnect(This,ppin)    \
  1782.     (This)->lpVtbl -> Reconnect(This,ppin)
  1783.  
  1784. #define IFilterGraph_Disconnect(This,ppin)    \
  1785.     (This)->lpVtbl -> Disconnect(This,ppin)
  1786.  
  1787. #define IFilterGraph_SetDefaultSyncSource(This)    \
  1788.     (This)->lpVtbl -> SetDefaultSyncSource(This)
  1789.  
  1790. #endif /* COBJMACROS */
  1791.  
  1792.  
  1793. #endif     /* C style interface */
  1794.  
  1795.  
  1796.  
  1797. HRESULT STDMETHODCALLTYPE IFilterGraph_AddFilter_Proxy( 
  1798.     IFilterGraph * This,
  1799.     /* [in] */ IBaseFilter *pFilter,
  1800.     /* [string][in] */ LPCWSTR pName);
  1801.  
  1802.  
  1803. void __RPC_STUB IFilterGraph_AddFilter_Stub(
  1804.     IRpcStubBuffer *This,
  1805.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1806.     PRPC_MESSAGE _pRpcMessage,
  1807.     DWORD *_pdwStubPhase);
  1808.  
  1809.  
  1810. HRESULT STDMETHODCALLTYPE IFilterGraph_RemoveFilter_Proxy( 
  1811.     IFilterGraph * This,
  1812.     /* [in] */ IBaseFilter *pFilter);
  1813.  
  1814.  
  1815. void __RPC_STUB IFilterGraph_RemoveFilter_Stub(
  1816.     IRpcStubBuffer *This,
  1817.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1818.     PRPC_MESSAGE _pRpcMessage,
  1819.     DWORD *_pdwStubPhase);
  1820.  
  1821.  
  1822. HRESULT STDMETHODCALLTYPE IFilterGraph_EnumFilters_Proxy( 
  1823.     IFilterGraph * This,
  1824.     /* [out] */ IEnumFilters **ppEnum);
  1825.  
  1826.  
  1827. void __RPC_STUB IFilterGraph_EnumFilters_Stub(
  1828.     IRpcStubBuffer *This,
  1829.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1830.     PRPC_MESSAGE _pRpcMessage,
  1831.     DWORD *_pdwStubPhase);
  1832.  
  1833.  
  1834. HRESULT STDMETHODCALLTYPE IFilterGraph_FindFilterByName_Proxy( 
  1835.     IFilterGraph * This,
  1836.     /* [string][in] */ LPCWSTR pName,
  1837.     /* [out] */ IBaseFilter **ppFilter);
  1838.  
  1839.  
  1840. void __RPC_STUB IFilterGraph_FindFilterByName_Stub(
  1841.     IRpcStubBuffer *This,
  1842.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1843.     PRPC_MESSAGE _pRpcMessage,
  1844.     DWORD *_pdwStubPhase);
  1845.  
  1846.  
  1847. HRESULT STDMETHODCALLTYPE IFilterGraph_ConnectDirect_Proxy( 
  1848.     IFilterGraph * This,
  1849.     /* [in] */ IPin *ppinOut,
  1850.     /* [in] */ IPin *ppinIn,
  1851.     /* [unique][in] */ const AM_MEDIA_TYPE *pmt);
  1852.  
  1853.  
  1854. void __RPC_STUB IFilterGraph_ConnectDirect_Stub(
  1855.     IRpcStubBuffer *This,
  1856.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1857.     PRPC_MESSAGE _pRpcMessage,
  1858.     DWORD *_pdwStubPhase);
  1859.  
  1860.  
  1861. HRESULT STDMETHODCALLTYPE IFilterGraph_Reconnect_Proxy( 
  1862.     IFilterGraph * This,
  1863.     /* [in] */ IPin *ppin);
  1864.  
  1865.  
  1866. void __RPC_STUB IFilterGraph_Reconnect_Stub(
  1867.     IRpcStubBuffer *This,
  1868.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1869.     PRPC_MESSAGE _pRpcMessage,
  1870.     DWORD *_pdwStubPhase);
  1871.  
  1872.  
  1873. HRESULT STDMETHODCALLTYPE IFilterGraph_Disconnect_Proxy( 
  1874.     IFilterGraph * This,
  1875.     /* [in] */ IPin *ppin);
  1876.  
  1877.  
  1878. void __RPC_STUB IFilterGraph_Disconnect_Stub(
  1879.     IRpcStubBuffer *This,
  1880.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1881.     PRPC_MESSAGE _pRpcMessage,
  1882.     DWORD *_pdwStubPhase);
  1883.  
  1884.  
  1885. HRESULT STDMETHODCALLTYPE IFilterGraph_SetDefaultSyncSource_Proxy( 
  1886.     IFilterGraph * This);
  1887.  
  1888.  
  1889. void __RPC_STUB IFilterGraph_SetDefaultSyncSource_Stub(
  1890.     IRpcStubBuffer *This,
  1891.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1892.     PRPC_MESSAGE _pRpcMessage,
  1893.     DWORD *_pdwStubPhase);
  1894.  
  1895.  
  1896.  
  1897. #endif     /* __IFilterGraph_INTERFACE_DEFINED__ */
  1898.  
  1899.  
  1900. /* interface __MIDL_itf_strmif_0112 */
  1901. /* [local] */ 
  1902.  
  1903. typedef IFilterGraph *PFILTERGRAPH;
  1904.  
  1905.  
  1906.  
  1907. extern RPC_IF_HANDLE __MIDL_itf_strmif_0112_v0_0_c_ifspec;
  1908. extern RPC_IF_HANDLE __MIDL_itf_strmif_0112_v0_0_s_ifspec;
  1909.  
  1910. #ifndef __IEnumFilters_INTERFACE_DEFINED__
  1911. #define __IEnumFilters_INTERFACE_DEFINED__
  1912.  
  1913. /* interface IEnumFilters */
  1914. /* [unique][uuid][object] */ 
  1915.  
  1916.  
  1917. EXTERN_C const IID IID_IEnumFilters;
  1918.  
  1919. #if defined(__cplusplus) && !defined(CINTERFACE)
  1920.     
  1921.     MIDL_INTERFACE("56a86893-0ad4-11ce-b03a-0020af0ba770")
  1922.     IEnumFilters : public IUnknown
  1923.     {
  1924.     public:
  1925.         virtual HRESULT STDMETHODCALLTYPE Next( 
  1926.             /* [in] */ ULONG cFilters,
  1927.             /* [out] */ IBaseFilter **ppFilter,
  1928.             /* [out] */ ULONG *pcFetched) = 0;
  1929.         
  1930.         virtual HRESULT STDMETHODCALLTYPE Skip( 
  1931.             /* [in] */ ULONG cFilters) = 0;
  1932.         
  1933.         virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;
  1934.         
  1935.         virtual HRESULT STDMETHODCALLTYPE Clone( 
  1936.             /* [out] */ IEnumFilters **ppEnum) = 0;
  1937.         
  1938.     };
  1939.     
  1940. #else     /* C style interface */
  1941.  
  1942.     typedef struct IEnumFiltersVtbl
  1943.     {
  1944.         BEGIN_INTERFACE
  1945.         
  1946.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1947.             IEnumFilters * This,
  1948.             /* [in] */ REFIID riid,
  1949.             /* [iid_is][out] */ void **ppvObject);
  1950.         
  1951.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1952.             IEnumFilters * This);
  1953.         
  1954.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1955.             IEnumFilters * This);
  1956.         
  1957.         HRESULT ( STDMETHODCALLTYPE *Next )( 
  1958.             IEnumFilters * This,
  1959.             /* [in] */ ULONG cFilters,
  1960.             /* [out] */ IBaseFilter **ppFilter,
  1961.             /* [out] */ ULONG *pcFetched);
  1962.         
  1963.         HRESULT ( STDMETHODCALLTYPE *Skip )( 
  1964.             IEnumFilters * This,
  1965.             /* [in] */ ULONG cFilters);
  1966.         
  1967.         HRESULT ( STDMETHODCALLTYPE *Reset )( 
  1968.             IEnumFilters * This);
  1969.         
  1970.         HRESULT ( STDMETHODCALLTYPE *Clone )( 
  1971.             IEnumFilters * This,
  1972.             /* [out] */ IEnumFilters **ppEnum);
  1973.         
  1974.         END_INTERFACE
  1975.     } IEnumFiltersVtbl;
  1976.  
  1977.     interface IEnumFilters
  1978.     {
  1979.         CONST_VTBL struct IEnumFiltersVtbl *lpVtbl;
  1980.     };
  1981.  
  1982.     
  1983.  
  1984. #ifdef COBJMACROS
  1985.  
  1986.  
  1987. #define IEnumFilters_QueryInterface(This,riid,ppvObject)    \
  1988.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1989.  
  1990. #define IEnumFilters_AddRef(This)    \
  1991.     (This)->lpVtbl -> AddRef(This)
  1992.  
  1993. #define IEnumFilters_Release(This)    \
  1994.     (This)->lpVtbl -> Release(This)
  1995.  
  1996.  
  1997. #define IEnumFilters_Next(This,cFilters,ppFilter,pcFetched)    \
  1998.     (This)->lpVtbl -> Next(This,cFilters,ppFilter,pcFetched)
  1999.  
  2000. #define IEnumFilters_Skip(This,cFilters)    \
  2001.     (This)->lpVtbl -> Skip(This,cFilters)
  2002.  
  2003. #define IEnumFilters_Reset(This)    \
  2004.     (This)->lpVtbl -> Reset(This)
  2005.  
  2006. #define IEnumFilters_Clone(This,ppEnum)    \
  2007.     (This)->lpVtbl -> Clone(This,ppEnum)
  2008.  
  2009. #endif /* COBJMACROS */
  2010.  
  2011.  
  2012. #endif     /* C style interface */
  2013.  
  2014.  
  2015.  
  2016. HRESULT STDMETHODCALLTYPE IEnumFilters_Next_Proxy( 
  2017.     IEnumFilters * This,
  2018.     /* [in] */ ULONG cFilters,
  2019.     /* [out] */ IBaseFilter **ppFilter,
  2020.     /* [out] */ ULONG *pcFetched);
  2021.  
  2022.  
  2023. void __RPC_STUB IEnumFilters_Next_Stub(
  2024.     IRpcStubBuffer *This,
  2025.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2026.     PRPC_MESSAGE _pRpcMessage,
  2027.     DWORD *_pdwStubPhase);
  2028.  
  2029.  
  2030. HRESULT STDMETHODCALLTYPE IEnumFilters_Skip_Proxy( 
  2031.     IEnumFilters * This,
  2032.     /* [in] */ ULONG cFilters);
  2033.  
  2034.  
  2035. void __RPC_STUB IEnumFilters_Skip_Stub(
  2036.     IRpcStubBuffer *This,
  2037.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2038.     PRPC_MESSAGE _pRpcMessage,
  2039.     DWORD *_pdwStubPhase);
  2040.  
  2041.  
  2042. HRESULT STDMETHODCALLTYPE IEnumFilters_Reset_Proxy( 
  2043.     IEnumFilters * This);
  2044.  
  2045.  
  2046. void __RPC_STUB IEnumFilters_Reset_Stub(
  2047.     IRpcStubBuffer *This,
  2048.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2049.     PRPC_MESSAGE _pRpcMessage,
  2050.     DWORD *_pdwStubPhase);
  2051.  
  2052.  
  2053. HRESULT STDMETHODCALLTYPE IEnumFilters_Clone_Proxy( 
  2054.     IEnumFilters * This,
  2055.     /* [out] */ IEnumFilters **ppEnum);
  2056.  
  2057.  
  2058. void __RPC_STUB IEnumFilters_Clone_Stub(
  2059.     IRpcStubBuffer *This,
  2060.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2061.     PRPC_MESSAGE _pRpcMessage,
  2062.     DWORD *_pdwStubPhase);
  2063.  
  2064.  
  2065.  
  2066. #endif     /* __IEnumFilters_INTERFACE_DEFINED__ */
  2067.  
  2068.  
  2069. /* interface __MIDL_itf_strmif_0113 */
  2070. /* [local] */ 
  2071.  
  2072. typedef IEnumFilters *PENUMFILTERS;
  2073.  
  2074.  
  2075.  
  2076. extern RPC_IF_HANDLE __MIDL_itf_strmif_0113_v0_0_c_ifspec;
  2077. extern RPC_IF_HANDLE __MIDL_itf_strmif_0113_v0_0_s_ifspec;
  2078.  
  2079. #ifndef __IMediaFilter_INTERFACE_DEFINED__
  2080. #define __IMediaFilter_INTERFACE_DEFINED__
  2081.  
  2082. /* interface IMediaFilter */
  2083. /* [unique][uuid][object] */ 
  2084.  
  2085. typedef 
  2086. enum _FilterState
  2087.     {    State_Stopped    = 0,
  2088.     State_Paused    = State_Stopped + 1,
  2089.     State_Running    = State_Paused + 1
  2090.     }     FILTER_STATE;
  2091.  
  2092.  
  2093. EXTERN_C const IID IID_IMediaFilter;
  2094.  
  2095. #if defined(__cplusplus) && !defined(CINTERFACE)
  2096.     
  2097.     MIDL_INTERFACE("56a86899-0ad4-11ce-b03a-0020af0ba770")
  2098.     IMediaFilter : public IPersist
  2099.     {
  2100.     public:
  2101.         virtual HRESULT STDMETHODCALLTYPE Stop( void) = 0;
  2102.         
  2103.         virtual HRESULT STDMETHODCALLTYPE Pause( void) = 0;
  2104.         
  2105.         virtual HRESULT STDMETHODCALLTYPE Run( 
  2106.             REFERENCE_TIME tStart) = 0;
  2107.         
  2108.         virtual HRESULT STDMETHODCALLTYPE GetState( 
  2109.             /* [in] */ DWORD dwMilliSecsTimeout,
  2110.             /* [out] */ FILTER_STATE *State) = 0;
  2111.         
  2112.         virtual HRESULT STDMETHODCALLTYPE SetSyncSource( 
  2113.             /* [in] */ IReferenceClock *pClock) = 0;
  2114.         
  2115.         virtual HRESULT STDMETHODCALLTYPE GetSyncSource( 
  2116.             /* [out] */ IReferenceClock **pClock) = 0;
  2117.         
  2118.     };
  2119.     
  2120. #else     /* C style interface */
  2121.  
  2122.     typedef struct IMediaFilterVtbl
  2123.     {
  2124.         BEGIN_INTERFACE
  2125.         
  2126.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  2127.             IMediaFilter * This,
  2128.             /* [in] */ REFIID riid,
  2129.             /* [iid_is][out] */ void **ppvObject);
  2130.         
  2131.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  2132.             IMediaFilter * This);
  2133.         
  2134.         ULONG ( STDMETHODCALLTYPE *Release )( 
  2135.             IMediaFilter * This);
  2136.         
  2137.         HRESULT ( STDMETHODCALLTYPE *GetClassID )( 
  2138.             IMediaFilter * This,
  2139.             /* [out] */ CLSID *pClassID);
  2140.         
  2141.         HRESULT ( STDMETHODCALLTYPE *Stop )( 
  2142.             IMediaFilter * This);
  2143.         
  2144.         HRESULT ( STDMETHODCALLTYPE *Pause )( 
  2145.             IMediaFilter * This);
  2146.         
  2147.         HRESULT ( STDMETHODCALLTYPE *Run )( 
  2148.             IMediaFilter * This,
  2149.             REFERENCE_TIME tStart);
  2150.         
  2151.         HRESULT ( STDMETHODCALLTYPE *GetState )( 
  2152.             IMediaFilter * This,
  2153.             /* [in] */ DWORD dwMilliSecsTimeout,
  2154.             /* [out] */ FILTER_STATE *State);
  2155.         
  2156.         HRESULT ( STDMETHODCALLTYPE *SetSyncSource )( 
  2157.             IMediaFilter * This,
  2158.             /* [in] */ IReferenceClock *pClock);
  2159.         
  2160.         HRESULT ( STDMETHODCALLTYPE *GetSyncSource )( 
  2161.             IMediaFilter * This,
  2162.             /* [out] */ IReferenceClock **pClock);
  2163.         
  2164.         END_INTERFACE
  2165.     } IMediaFilterVtbl;
  2166.  
  2167.     interface IMediaFilter
  2168.     {
  2169.         CONST_VTBL struct IMediaFilterVtbl *lpVtbl;
  2170.     };
  2171.  
  2172.     
  2173.  
  2174. #ifdef COBJMACROS
  2175.  
  2176.  
  2177. #define IMediaFilter_QueryInterface(This,riid,ppvObject)    \
  2178.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2179.  
  2180. #define IMediaFilter_AddRef(This)    \
  2181.     (This)->lpVtbl -> AddRef(This)
  2182.  
  2183. #define IMediaFilter_Release(This)    \
  2184.     (This)->lpVtbl -> Release(This)
  2185.  
  2186.  
  2187. #define IMediaFilter_GetClassID(This,pClassID)    \
  2188.     (This)->lpVtbl -> GetClassID(This,pClassID)
  2189.  
  2190.  
  2191. #define IMediaFilter_Stop(This)    \
  2192.     (This)->lpVtbl -> Stop(This)
  2193.  
  2194. #define IMediaFilter_Pause(This)    \
  2195.     (This)->lpVtbl -> Pause(This)
  2196.  
  2197. #define IMediaFilter_Run(This,tStart)    \
  2198.     (This)->lpVtbl -> Run(This,tStart)
  2199.  
  2200. #define IMediaFilter_GetState(This,dwMilliSecsTimeout,State)    \
  2201.     (This)->lpVtbl -> GetState(This,dwMilliSecsTimeout,State)
  2202.  
  2203. #define IMediaFilter_SetSyncSource(This,pClock)    \
  2204.     (This)->lpVtbl -> SetSyncSource(This,pClock)
  2205.  
  2206. #define IMediaFilter_GetSyncSource(This,pClock)    \
  2207.     (This)->lpVtbl -> GetSyncSource(This,pClock)
  2208.  
  2209. #endif /* COBJMACROS */
  2210.  
  2211.  
  2212. #endif     /* C style interface */
  2213.  
  2214.  
  2215.  
  2216. HRESULT STDMETHODCALLTYPE IMediaFilter_Stop_Proxy( 
  2217.     IMediaFilter * This);
  2218.  
  2219.  
  2220. void __RPC_STUB IMediaFilter_Stop_Stub(
  2221.     IRpcStubBuffer *This,
  2222.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2223.     PRPC_MESSAGE _pRpcMessage,
  2224.     DWORD *_pdwStubPhase);
  2225.  
  2226.  
  2227. HRESULT STDMETHODCALLTYPE IMediaFilter_Pause_Proxy( 
  2228.     IMediaFilter * This);
  2229.  
  2230.  
  2231. void __RPC_STUB IMediaFilter_Pause_Stub(
  2232.     IRpcStubBuffer *This,
  2233.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2234.     PRPC_MESSAGE _pRpcMessage,
  2235.     DWORD *_pdwStubPhase);
  2236.  
  2237.  
  2238. HRESULT STDMETHODCALLTYPE IMediaFilter_Run_Proxy( 
  2239.     IMediaFilter * This,
  2240.     REFERENCE_TIME tStart);
  2241.  
  2242.  
  2243. void __RPC_STUB IMediaFilter_Run_Stub(
  2244.     IRpcStubBuffer *This,
  2245.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2246.     PRPC_MESSAGE _pRpcMessage,
  2247.     DWORD *_pdwStubPhase);
  2248.  
  2249.  
  2250. HRESULT STDMETHODCALLTYPE IMediaFilter_GetState_Proxy( 
  2251.     IMediaFilter * This,
  2252.     /* [in] */ DWORD dwMilliSecsTimeout,
  2253.     /* [out] */ FILTER_STATE *State);
  2254.  
  2255.  
  2256. void __RPC_STUB IMediaFilter_GetState_Stub(
  2257.     IRpcStubBuffer *This,
  2258.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2259.     PRPC_MESSAGE _pRpcMessage,
  2260.     DWORD *_pdwStubPhase);
  2261.  
  2262.  
  2263. HRESULT STDMETHODCALLTYPE IMediaFilter_SetSyncSource_Proxy( 
  2264.     IMediaFilter * This,
  2265.     /* [in] */ IReferenceClock *pClock);
  2266.  
  2267.  
  2268. void __RPC_STUB IMediaFilter_SetSyncSource_Stub(
  2269.     IRpcStubBuffer *This,
  2270.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2271.     PRPC_MESSAGE _pRpcMessage,
  2272.     DWORD *_pdwStubPhase);
  2273.  
  2274.  
  2275. HRESULT STDMETHODCALLTYPE IMediaFilter_GetSyncSource_Proxy( 
  2276.     IMediaFilter * This,
  2277.     /* [out] */ IReferenceClock **pClock);
  2278.  
  2279.  
  2280. void __RPC_STUB IMediaFilter_GetSyncSource_Stub(
  2281.     IRpcStubBuffer *This,
  2282.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2283.     PRPC_MESSAGE _pRpcMessage,
  2284.     DWORD *_pdwStubPhase);
  2285.  
  2286.  
  2287.  
  2288. #endif     /* __IMediaFilter_INTERFACE_DEFINED__ */
  2289.  
  2290.  
  2291. /* interface __MIDL_itf_strmif_0114 */
  2292. /* [local] */ 
  2293.  
  2294. typedef IMediaFilter *PMEDIAFILTER;
  2295.  
  2296.  
  2297.  
  2298. extern RPC_IF_HANDLE __MIDL_itf_strmif_0114_v0_0_c_ifspec;
  2299. extern RPC_IF_HANDLE __MIDL_itf_strmif_0114_v0_0_s_ifspec;
  2300.  
  2301. #ifndef __IBaseFilter_INTERFACE_DEFINED__
  2302. #define __IBaseFilter_INTERFACE_DEFINED__
  2303.  
  2304. /* interface IBaseFilter */
  2305. /* [unique][uuid][object] */ 
  2306.  
  2307. typedef struct _FilterInfo
  2308.     {
  2309.     WCHAR achName[ 128 ];
  2310.     IFilterGraph *pGraph;
  2311.     }     FILTER_INFO;
  2312.  
  2313.  
  2314. EXTERN_C const IID IID_IBaseFilter;
  2315.  
  2316. #if defined(__cplusplus) && !defined(CINTERFACE)
  2317.     
  2318.     MIDL_INTERFACE("56a86895-0ad4-11ce-b03a-0020af0ba770")
  2319.     IBaseFilter : public IMediaFilter
  2320.     {
  2321.     public:
  2322.         virtual HRESULT STDMETHODCALLTYPE EnumPins( 
  2323.             /* [out] */ IEnumPins **ppEnum) = 0;
  2324.         
  2325.         virtual HRESULT STDMETHODCALLTYPE FindPin( 
  2326.             /* [string][in] */ LPCWSTR Id,
  2327.             /* [out] */ IPin **ppPin) = 0;
  2328.         
  2329.         virtual HRESULT STDMETHODCALLTYPE QueryFilterInfo( 
  2330.             /* [out] */ FILTER_INFO *pInfo) = 0;
  2331.         
  2332.         virtual HRESULT STDMETHODCALLTYPE JoinFilterGraph( 
  2333.             /* [in] */ IFilterGraph *pGraph,
  2334.             /* [string][in] */ LPCWSTR pName) = 0;
  2335.         
  2336.         virtual HRESULT STDMETHODCALLTYPE QueryVendorInfo( 
  2337.             /* [string][out] */ LPWSTR *pVendorInfo) = 0;
  2338.         
  2339.     };
  2340.     
  2341. #else     /* C style interface */
  2342.  
  2343.     typedef struct IBaseFilterVtbl
  2344.     {
  2345.         BEGIN_INTERFACE
  2346.         
  2347.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  2348.             IBaseFilter * This,
  2349.             /* [in] */ REFIID riid,
  2350.             /* [iid_is][out] */ void **ppvObject);
  2351.         
  2352.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  2353.             IBaseFilter * This);
  2354.         
  2355.         ULONG ( STDMETHODCALLTYPE *Release )( 
  2356.             IBaseFilter * This);
  2357.         
  2358.         HRESULT ( STDMETHODCALLTYPE *GetClassID )( 
  2359.             IBaseFilter * This,
  2360.             /* [out] */ CLSID *pClassID);
  2361.         
  2362.         HRESULT ( STDMETHODCALLTYPE *Stop )( 
  2363.             IBaseFilter * This);
  2364.         
  2365.         HRESULT ( STDMETHODCALLTYPE *Pause )( 
  2366.             IBaseFilter * This);
  2367.         
  2368.         HRESULT ( STDMETHODCALLTYPE *Run )( 
  2369.             IBaseFilter * This,
  2370.             REFERENCE_TIME tStart);
  2371.         
  2372.         HRESULT ( STDMETHODCALLTYPE *GetState )( 
  2373.             IBaseFilter * This,
  2374.             /* [in] */ DWORD dwMilliSecsTimeout,
  2375.             /* [out] */ FILTER_STATE *State);
  2376.         
  2377.         HRESULT ( STDMETHODCALLTYPE *SetSyncSource )( 
  2378.             IBaseFilter * This,
  2379.             /* [in] */ IReferenceClock *pClock);
  2380.         
  2381.         HRESULT ( STDMETHODCALLTYPE *GetSyncSource )( 
  2382.             IBaseFilter * This,
  2383.             /* [out] */ IReferenceClock **pClock);
  2384.         
  2385.         HRESULT ( STDMETHODCALLTYPE *EnumPins )( 
  2386.             IBaseFilter * This,
  2387.             /* [out] */ IEnumPins **ppEnum);
  2388.         
  2389.         HRESULT ( STDMETHODCALLTYPE *FindPin )( 
  2390.             IBaseFilter * This,
  2391.             /* [string][in] */ LPCWSTR Id,
  2392.             /* [out] */ IPin **ppPin);
  2393.         
  2394.         HRESULT ( STDMETHODCALLTYPE *QueryFilterInfo )( 
  2395.             IBaseFilter * This,
  2396.             /* [out] */ FILTER_INFO *pInfo);
  2397.         
  2398.         HRESULT ( STDMETHODCALLTYPE *JoinFilterGraph )( 
  2399.             IBaseFilter * This,
  2400.             /* [in] */ IFilterGraph *pGraph,
  2401.             /* [string][in] */ LPCWSTR pName);
  2402.         
  2403.         HRESULT ( STDMETHODCALLTYPE *QueryVendorInfo )( 
  2404.             IBaseFilter * This,
  2405.             /* [string][out] */ LPWSTR *pVendorInfo);
  2406.         
  2407.         END_INTERFACE
  2408.     } IBaseFilterVtbl;
  2409.  
  2410.     interface IBaseFilter
  2411.     {
  2412.         CONST_VTBL struct IBaseFilterVtbl *lpVtbl;
  2413.     };
  2414.  
  2415.     
  2416.  
  2417. #ifdef COBJMACROS
  2418.  
  2419.  
  2420. #define IBaseFilter_QueryInterface(This,riid,ppvObject)    \
  2421.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2422.  
  2423. #define IBaseFilter_AddRef(This)    \
  2424.     (This)->lpVtbl -> AddRef(This)
  2425.  
  2426. #define IBaseFilter_Release(This)    \
  2427.     (This)->lpVtbl -> Release(This)
  2428.  
  2429.  
  2430. #define IBaseFilter_GetClassID(This,pClassID)    \
  2431.     (This)->lpVtbl -> GetClassID(This,pClassID)
  2432.  
  2433.  
  2434. #define IBaseFilter_Stop(This)    \
  2435.     (This)->lpVtbl -> Stop(This)
  2436.  
  2437. #define IBaseFilter_Pause(This)    \
  2438.     (This)->lpVtbl -> Pause(This)
  2439.  
  2440. #define IBaseFilter_Run(This,tStart)    \
  2441.     (This)->lpVtbl -> Run(This,tStart)
  2442.  
  2443. #define IBaseFilter_GetState(This,dwMilliSecsTimeout,State)    \
  2444.     (This)->lpVtbl -> GetState(This,dwMilliSecsTimeout,State)
  2445.  
  2446. #define IBaseFilter_SetSyncSource(This,pClock)    \
  2447.     (This)->lpVtbl -> SetSyncSource(This,pClock)
  2448.  
  2449. #define IBaseFilter_GetSyncSource(This,pClock)    \
  2450.     (This)->lpVtbl -> GetSyncSource(This,pClock)
  2451.  
  2452.  
  2453. #define IBaseFilter_EnumPins(This,ppEnum)    \
  2454.     (This)->lpVtbl -> EnumPins(This,ppEnum)
  2455.  
  2456. #define IBaseFilter_FindPin(This,Id,ppPin)    \
  2457.     (This)->lpVtbl -> FindPin(This,Id,ppPin)
  2458.  
  2459. #define IBaseFilter_QueryFilterInfo(This,pInfo)    \
  2460.     (This)->lpVtbl -> QueryFilterInfo(This,pInfo)
  2461.  
  2462. #define IBaseFilter_JoinFilterGraph(This,pGraph,pName)    \
  2463.     (This)->lpVtbl -> JoinFilterGraph(This,pGraph,pName)
  2464.  
  2465. #define IBaseFilter_QueryVendorInfo(This,pVendorInfo)    \
  2466.     (This)->lpVtbl -> QueryVendorInfo(This,pVendorInfo)
  2467.  
  2468. #endif /* COBJMACROS */
  2469.  
  2470.  
  2471. #endif     /* C style interface */
  2472.  
  2473.  
  2474.  
  2475. HRESULT STDMETHODCALLTYPE IBaseFilter_EnumPins_Proxy( 
  2476.     IBaseFilter * This,
  2477.     /* [out] */ IEnumPins **ppEnum);
  2478.  
  2479.  
  2480. void __RPC_STUB IBaseFilter_EnumPins_Stub(
  2481.     IRpcStubBuffer *This,
  2482.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2483.     PRPC_MESSAGE _pRpcMessage,
  2484.     DWORD *_pdwStubPhase);
  2485.  
  2486.  
  2487. HRESULT STDMETHODCALLTYPE IBaseFilter_FindPin_Proxy( 
  2488.     IBaseFilter * This,
  2489.     /* [string][in] */ LPCWSTR Id,
  2490.     /* [out] */ IPin **ppPin);
  2491.  
  2492.  
  2493. void __RPC_STUB IBaseFilter_FindPin_Stub(
  2494.     IRpcStubBuffer *This,
  2495.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2496.     PRPC_MESSAGE _pRpcMessage,
  2497.     DWORD *_pdwStubPhase);
  2498.  
  2499.  
  2500. HRESULT STDMETHODCALLTYPE IBaseFilter_QueryFilterInfo_Proxy( 
  2501.     IBaseFilter * This,
  2502.     /* [out] */ FILTER_INFO *pInfo);
  2503.  
  2504.  
  2505. void __RPC_STUB IBaseFilter_QueryFilterInfo_Stub(
  2506.     IRpcStubBuffer *This,
  2507.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2508.     PRPC_MESSAGE _pRpcMessage,
  2509.     DWORD *_pdwStubPhase);
  2510.  
  2511.  
  2512. HRESULT STDMETHODCALLTYPE IBaseFilter_JoinFilterGraph_Proxy( 
  2513.     IBaseFilter * This,
  2514.     /* [in] */ IFilterGraph *pGraph,
  2515.     /* [string][in] */ LPCWSTR pName);
  2516.  
  2517.  
  2518. void __RPC_STUB IBaseFilter_JoinFilterGraph_Stub(
  2519.     IRpcStubBuffer *This,
  2520.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2521.     PRPC_MESSAGE _pRpcMessage,
  2522.     DWORD *_pdwStubPhase);
  2523.  
  2524.  
  2525. HRESULT STDMETHODCALLTYPE IBaseFilter_QueryVendorInfo_Proxy( 
  2526.     IBaseFilter * This,
  2527.     /* [string][out] */ LPWSTR *pVendorInfo);
  2528.  
  2529.  
  2530. void __RPC_STUB IBaseFilter_QueryVendorInfo_Stub(
  2531.     IRpcStubBuffer *This,
  2532.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2533.     PRPC_MESSAGE _pRpcMessage,
  2534.     DWORD *_pdwStubPhase);
  2535.  
  2536.  
  2537.  
  2538. #endif     /* __IBaseFilter_INTERFACE_DEFINED__ */
  2539.  
  2540.  
  2541. /* interface __MIDL_itf_strmif_0115 */
  2542. /* [local] */ 
  2543.  
  2544. typedef IBaseFilter *PFILTER;
  2545.  
  2546.  
  2547.  
  2548. extern RPC_IF_HANDLE __MIDL_itf_strmif_0115_v0_0_c_ifspec;
  2549. extern RPC_IF_HANDLE __MIDL_itf_strmif_0115_v0_0_s_ifspec;
  2550.  
  2551. #ifndef __IReferenceClock_INTERFACE_DEFINED__
  2552. #define __IReferenceClock_INTERFACE_DEFINED__
  2553.  
  2554. /* interface IReferenceClock */
  2555. /* [unique][uuid][object] */ 
  2556.  
  2557.  
  2558. EXTERN_C const IID IID_IReferenceClock;
  2559.  
  2560. #if defined(__cplusplus) && !defined(CINTERFACE)
  2561.     
  2562.     MIDL_INTERFACE("56a86897-0ad4-11ce-b03a-0020af0ba770")
  2563.     IReferenceClock : public IUnknown
  2564.     {
  2565.     public:
  2566.         virtual HRESULT STDMETHODCALLTYPE GetTime( 
  2567.             /* [out] */ REFERENCE_TIME *pTime) = 0;
  2568.         
  2569.         virtual HRESULT STDMETHODCALLTYPE AdviseTime( 
  2570.             /* [in] */ REFERENCE_TIME baseTime,
  2571.             /* [in] */ REFERENCE_TIME streamTime,
  2572.             /* [in] */ HEVENT hEvent,
  2573.             /* [out] */ DWORD_PTR *pdwAdviseCookie) = 0;
  2574.         
  2575.         virtual HRESULT STDMETHODCALLTYPE AdvisePeriodic( 
  2576.             /* [in] */ REFERENCE_TIME startTime,
  2577.             /* [in] */ REFERENCE_TIME periodTime,
  2578.             /* [in] */ HSEMAPHORE hSemaphore,
  2579.             /* [out] */ DWORD_PTR *pdwAdviseCookie) = 0;
  2580.         
  2581.         virtual HRESULT STDMETHODCALLTYPE Unadvise( 
  2582.             /* [in] */ DWORD_PTR dwAdviseCookie) = 0;
  2583.         
  2584.     };
  2585.     
  2586. #else     /* C style interface */
  2587.  
  2588.     typedef struct IReferenceClockVtbl
  2589.     {
  2590.         BEGIN_INTERFACE
  2591.         
  2592.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  2593.             IReferenceClock * This,
  2594.             /* [in] */ REFIID riid,
  2595.             /* [iid_is][out] */ void **ppvObject);
  2596.         
  2597.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  2598.             IReferenceClock * This);
  2599.         
  2600.         ULONG ( STDMETHODCALLTYPE *Release )( 
  2601.             IReferenceClock * This);
  2602.         
  2603.         HRESULT ( STDMETHODCALLTYPE *GetTime )( 
  2604.             IReferenceClock * This,
  2605.             /* [out] */ REFERENCE_TIME *pTime);
  2606.         
  2607.         HRESULT ( STDMETHODCALLTYPE *AdviseTime )( 
  2608.             IReferenceClock * This,
  2609.             /* [in] */ REFERENCE_TIME baseTime,
  2610.             /* [in] */ REFERENCE_TIME streamTime,
  2611.             /* [in] */ HEVENT hEvent,
  2612.             /* [out] */ DWORD_PTR *pdwAdviseCookie);
  2613.         
  2614.         HRESULT ( STDMETHODCALLTYPE *AdvisePeriodic )( 
  2615.             IReferenceClock * This,
  2616.             /* [in] */ REFERENCE_TIME startTime,
  2617.             /* [in] */ REFERENCE_TIME periodTime,
  2618.             /* [in] */ HSEMAPHORE hSemaphore,
  2619.             /* [out] */ DWORD_PTR *pdwAdviseCookie);
  2620.         
  2621.         HRESULT ( STDMETHODCALLTYPE *Unadvise )( 
  2622.             IReferenceClock * This,
  2623.             /* [in] */ DWORD_PTR dwAdviseCookie);
  2624.         
  2625.         END_INTERFACE
  2626.     } IReferenceClockVtbl;
  2627.  
  2628.     interface IReferenceClock
  2629.     {
  2630.         CONST_VTBL struct IReferenceClockVtbl *lpVtbl;
  2631.     };
  2632.  
  2633.     
  2634.  
  2635. #ifdef COBJMACROS
  2636.  
  2637.  
  2638. #define IReferenceClock_QueryInterface(This,riid,ppvObject)    \
  2639.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2640.  
  2641. #define IReferenceClock_AddRef(This)    \
  2642.     (This)->lpVtbl -> AddRef(This)
  2643.  
  2644. #define IReferenceClock_Release(This)    \
  2645.     (This)->lpVtbl -> Release(This)
  2646.  
  2647.  
  2648. #define IReferenceClock_GetTime(This,pTime)    \
  2649.     (This)->lpVtbl -> GetTime(This,pTime)
  2650.  
  2651. #define IReferenceClock_AdviseTime(This,baseTime,streamTime,hEvent,pdwAdviseCookie)    \
  2652.     (This)->lpVtbl -> AdviseTime(This,baseTime,streamTime,hEvent,pdwAdviseCookie)
  2653.  
  2654. #define IReferenceClock_AdvisePeriodic(This,startTime,periodTime,hSemaphore,pdwAdviseCookie)    \
  2655.     (This)->lpVtbl -> AdvisePeriodic(This,startTime,periodTime,hSemaphore,pdwAdviseCookie)
  2656.  
  2657. #define IReferenceClock_Unadvise(This,dwAdviseCookie)    \
  2658.     (This)->lpVtbl -> Unadvise(This,dwAdviseCookie)
  2659.  
  2660. #endif /* COBJMACROS */
  2661.  
  2662.  
  2663. #endif     /* C style interface */
  2664.  
  2665.  
  2666.  
  2667. HRESULT STDMETHODCALLTYPE IReferenceClock_GetTime_Proxy( 
  2668.     IReferenceClock * This,
  2669.     /* [out] */ REFERENCE_TIME *pTime);
  2670.  
  2671.  
  2672. void __RPC_STUB IReferenceClock_GetTime_Stub(
  2673.     IRpcStubBuffer *This,
  2674.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2675.     PRPC_MESSAGE _pRpcMessage,
  2676.     DWORD *_pdwStubPhase);
  2677.  
  2678.  
  2679. HRESULT STDMETHODCALLTYPE IReferenceClock_AdviseTime_Proxy( 
  2680.     IReferenceClock * This,
  2681.     /* [in] */ REFERENCE_TIME baseTime,
  2682.     /* [in] */ REFERENCE_TIME streamTime,
  2683.     /* [in] */ HEVENT hEvent,
  2684.     /* [out] */ DWORD_PTR *pdwAdviseCookie);
  2685.  
  2686.  
  2687. void __RPC_STUB IReferenceClock_AdviseTime_Stub(
  2688.     IRpcStubBuffer *This,
  2689.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2690.     PRPC_MESSAGE _pRpcMessage,
  2691.     DWORD *_pdwStubPhase);
  2692.  
  2693.  
  2694. HRESULT STDMETHODCALLTYPE IReferenceClock_AdvisePeriodic_Proxy( 
  2695.     IReferenceClock * This,
  2696.     /* [in] */ REFERENCE_TIME startTime,
  2697.     /* [in] */ REFERENCE_TIME periodTime,
  2698.     /* [in] */ HSEMAPHORE hSemaphore,
  2699.     /* [out] */ DWORD_PTR *pdwAdviseCookie);
  2700.  
  2701.  
  2702. void __RPC_STUB IReferenceClock_AdvisePeriodic_Stub(
  2703.     IRpcStubBuffer *This,
  2704.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2705.     PRPC_MESSAGE _pRpcMessage,
  2706.     DWORD *_pdwStubPhase);
  2707.  
  2708.  
  2709. HRESULT STDMETHODCALLTYPE IReferenceClock_Unadvise_Proxy( 
  2710.     IReferenceClock * This,
  2711.     /* [in] */ DWORD_PTR dwAdviseCookie);
  2712.  
  2713.  
  2714. void __RPC_STUB IReferenceClock_Unadvise_Stub(
  2715.     IRpcStubBuffer *This,
  2716.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2717.     PRPC_MESSAGE _pRpcMessage,
  2718.     DWORD *_pdwStubPhase);
  2719.  
  2720.  
  2721.  
  2722. #endif     /* __IReferenceClock_INTERFACE_DEFINED__ */
  2723.  
  2724.  
  2725. /* interface __MIDL_itf_strmif_0116 */
  2726. /* [local] */ 
  2727.  
  2728. typedef IReferenceClock *PREFERENCECLOCK;
  2729.  
  2730.  
  2731.  
  2732. extern RPC_IF_HANDLE __MIDL_itf_strmif_0116_v0_0_c_ifspec;
  2733. extern RPC_IF_HANDLE __MIDL_itf_strmif_0116_v0_0_s_ifspec;
  2734.  
  2735. #ifndef __IReferenceClock2_INTERFACE_DEFINED__
  2736. #define __IReferenceClock2_INTERFACE_DEFINED__
  2737.  
  2738. /* interface IReferenceClock2 */
  2739. /* [unique][uuid][object] */ 
  2740.  
  2741.  
  2742. EXTERN_C const IID IID_IReferenceClock2;
  2743.  
  2744. #if defined(__cplusplus) && !defined(CINTERFACE)
  2745.     
  2746.     MIDL_INTERFACE("36b73885-c2c8-11cf-8b46-00805f6cef60")
  2747.     IReferenceClock2 : public IReferenceClock
  2748.     {
  2749.     public:
  2750.     };
  2751.     
  2752. #else     /* C style interface */
  2753.  
  2754.     typedef struct IReferenceClock2Vtbl
  2755.     {
  2756.         BEGIN_INTERFACE
  2757.         
  2758.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  2759.             IReferenceClock2 * This,
  2760.             /* [in] */ REFIID riid,
  2761.             /* [iid_is][out] */ void **ppvObject);
  2762.         
  2763.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  2764.             IReferenceClock2 * This);
  2765.         
  2766.         ULONG ( STDMETHODCALLTYPE *Release )( 
  2767.             IReferenceClock2 * This);
  2768.         
  2769.         HRESULT ( STDMETHODCALLTYPE *GetTime )( 
  2770.             IReferenceClock2 * This,
  2771.             /* [out] */ REFERENCE_TIME *pTime);
  2772.         
  2773.         HRESULT ( STDMETHODCALLTYPE *AdviseTime )( 
  2774.             IReferenceClock2 * This,
  2775.             /* [in] */ REFERENCE_TIME baseTime,
  2776.             /* [in] */ REFERENCE_TIME streamTime,
  2777.             /* [in] */ HEVENT hEvent,
  2778.             /* [out] */ DWORD_PTR *pdwAdviseCookie);
  2779.         
  2780.         HRESULT ( STDMETHODCALLTYPE *AdvisePeriodic )( 
  2781.             IReferenceClock2 * This,
  2782.             /* [in] */ REFERENCE_TIME startTime,
  2783.             /* [in] */ REFERENCE_TIME periodTime,
  2784.             /* [in] */ HSEMAPHORE hSemaphore,
  2785.             /* [out] */ DWORD_PTR *pdwAdviseCookie);
  2786.         
  2787.         HRESULT ( STDMETHODCALLTYPE *Unadvise )( 
  2788.             IReferenceClock2 * This,
  2789.             /* [in] */ DWORD_PTR dwAdviseCookie);
  2790.         
  2791.         END_INTERFACE
  2792.     } IReferenceClock2Vtbl;
  2793.  
  2794.     interface IReferenceClock2
  2795.     {
  2796.         CONST_VTBL struct IReferenceClock2Vtbl *lpVtbl;
  2797.     };
  2798.  
  2799.     
  2800.  
  2801. #ifdef COBJMACROS
  2802.  
  2803.  
  2804. #define IReferenceClock2_QueryInterface(This,riid,ppvObject)    \
  2805.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2806.  
  2807. #define IReferenceClock2_AddRef(This)    \
  2808.     (This)->lpVtbl -> AddRef(This)
  2809.  
  2810. #define IReferenceClock2_Release(This)    \
  2811.     (This)->lpVtbl -> Release(This)
  2812.  
  2813.  
  2814. #define IReferenceClock2_GetTime(This,pTime)    \
  2815.     (This)->lpVtbl -> GetTime(This,pTime)
  2816.  
  2817. #define IReferenceClock2_AdviseTime(This,baseTime,streamTime,hEvent,pdwAdviseCookie)    \
  2818.     (This)->lpVtbl -> AdviseTime(This,baseTime,streamTime,hEvent,pdwAdviseCookie)
  2819.  
  2820. #define IReferenceClock2_AdvisePeriodic(This,startTime,periodTime,hSemaphore,pdwAdviseCookie)    \
  2821.     (This)->lpVtbl -> AdvisePeriodic(This,startTime,periodTime,hSemaphore,pdwAdviseCookie)
  2822.  
  2823. #define IReferenceClock2_Unadvise(This,dwAdviseCookie)    \
  2824.     (This)->lpVtbl -> Unadvise(This,dwAdviseCookie)
  2825.  
  2826.  
  2827. #endif /* COBJMACROS */
  2828.  
  2829.  
  2830. #endif     /* C style interface */
  2831.  
  2832.  
  2833.  
  2834.  
  2835. #endif     /* __IReferenceClock2_INTERFACE_DEFINED__ */
  2836.  
  2837.  
  2838. /* interface __MIDL_itf_strmif_0117 */
  2839. /* [local] */ 
  2840.  
  2841. typedef IReferenceClock2 *PREFERENCECLOCK2;
  2842.  
  2843.  
  2844.  
  2845. extern RPC_IF_HANDLE __MIDL_itf_strmif_0117_v0_0_c_ifspec;
  2846. extern RPC_IF_HANDLE __MIDL_itf_strmif_0117_v0_0_s_ifspec;
  2847.  
  2848. #ifndef __IMediaSample_INTERFACE_DEFINED__
  2849. #define __IMediaSample_INTERFACE_DEFINED__
  2850.  
  2851. /* interface IMediaSample */
  2852. /* [unique][uuid][object][local] */ 
  2853.  
  2854.  
  2855. EXTERN_C const IID IID_IMediaSample;
  2856.  
  2857. #if defined(__cplusplus) && !defined(CINTERFACE)
  2858.     
  2859.     MIDL_INTERFACE("56a8689a-0ad4-11ce-b03a-0020af0ba770")
  2860.     IMediaSample : public IUnknown
  2861.     {
  2862.     public:
  2863.         virtual HRESULT STDMETHODCALLTYPE GetPointer( 
  2864.             /* [out] */ BYTE **ppBuffer) = 0;
  2865.         
  2866.         virtual long STDMETHODCALLTYPE GetSize( void) = 0;
  2867.         
  2868.         virtual HRESULT STDMETHODCALLTYPE GetTime( 
  2869.             /* [out] */ REFERENCE_TIME *pTimeStart,
  2870.             /* [out] */ REFERENCE_TIME *pTimeEnd) = 0;
  2871.         
  2872.         virtual HRESULT STDMETHODCALLTYPE SetTime( 
  2873.             /* [in] */ REFERENCE_TIME *pTimeStart,
  2874.             /* [in] */ REFERENCE_TIME *pTimeEnd) = 0;
  2875.         
  2876.         virtual HRESULT STDMETHODCALLTYPE IsSyncPoint( void) = 0;
  2877.         
  2878.         virtual HRESULT STDMETHODCALLTYPE SetSyncPoint( 
  2879.             BOOL bIsSyncPoint) = 0;
  2880.         
  2881.         virtual HRESULT STDMETHODCALLTYPE IsPreroll( void) = 0;
  2882.         
  2883.         virtual HRESULT STDMETHODCALLTYPE SetPreroll( 
  2884.             BOOL bIsPreroll) = 0;
  2885.         
  2886.         virtual long STDMETHODCALLTYPE GetActualDataLength( void) = 0;
  2887.         
  2888.         virtual HRESULT STDMETHODCALLTYPE SetActualDataLength( 
  2889.             long __MIDL_0010) = 0;
  2890.         
  2891.         virtual HRESULT STDMETHODCALLTYPE GetMediaType( 
  2892.             AM_MEDIA_TYPE **ppMediaType) = 0;
  2893.         
  2894.         virtual HRESULT STDMETHODCALLTYPE SetMediaType( 
  2895.             AM_MEDIA_TYPE *pMediaType) = 0;
  2896.         
  2897.         virtual HRESULT STDMETHODCALLTYPE IsDiscontinuity( void) = 0;
  2898.         
  2899.         virtual HRESULT STDMETHODCALLTYPE SetDiscontinuity( 
  2900.             BOOL bDiscontinuity) = 0;
  2901.         
  2902.         virtual HRESULT STDMETHODCALLTYPE GetMediaTime( 
  2903.             /* [out] */ LONGLONG *pTimeStart,
  2904.             /* [out] */ LONGLONG *pTimeEnd) = 0;
  2905.         
  2906.         virtual HRESULT STDMETHODCALLTYPE SetMediaTime( 
  2907.             /* [in] */ LONGLONG *pTimeStart,
  2908.             /* [in] */ LONGLONG *pTimeEnd) = 0;
  2909.         
  2910.     };
  2911.     
  2912. #else     /* C style interface */
  2913.  
  2914.     typedef struct IMediaSampleVtbl
  2915.     {
  2916.         BEGIN_INTERFACE
  2917.         
  2918.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  2919.             IMediaSample * This,
  2920.             /* [in] */ REFIID riid,
  2921.             /* [iid_is][out] */ void **ppvObject);
  2922.         
  2923.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  2924.             IMediaSample * This);
  2925.         
  2926.         ULONG ( STDMETHODCALLTYPE *Release )( 
  2927.             IMediaSample * This);
  2928.         
  2929.         HRESULT ( STDMETHODCALLTYPE *GetPointer )( 
  2930.             IMediaSample * This,
  2931.             /* [out] */ BYTE **ppBuffer);
  2932.         
  2933.         long ( STDMETHODCALLTYPE *GetSize )( 
  2934.             IMediaSample * This);
  2935.         
  2936.         HRESULT ( STDMETHODCALLTYPE *GetTime )( 
  2937.             IMediaSample * This,
  2938.             /* [out] */ REFERENCE_TIME *pTimeStart,
  2939.             /* [out] */ REFERENCE_TIME *pTimeEnd);
  2940.         
  2941.         HRESULT ( STDMETHODCALLTYPE *SetTime )( 
  2942.             IMediaSample * This,
  2943.             /* [in] */ REFERENCE_TIME *pTimeStart,
  2944.             /* [in] */ REFERENCE_TIME *pTimeEnd);
  2945.         
  2946.         HRESULT ( STDMETHODCALLTYPE *IsSyncPoint )( 
  2947.             IMediaSample * This);
  2948.         
  2949.         HRESULT ( STDMETHODCALLTYPE *SetSyncPoint )( 
  2950.             IMediaSample * This,
  2951.             BOOL bIsSyncPoint);
  2952.         
  2953.         HRESULT ( STDMETHODCALLTYPE *IsPreroll )( 
  2954.             IMediaSample * This);
  2955.         
  2956.         HRESULT ( STDMETHODCALLTYPE *SetPreroll )( 
  2957.             IMediaSample * This,
  2958.             BOOL bIsPreroll);
  2959.         
  2960.         long ( STDMETHODCALLTYPE *GetActualDataLength )( 
  2961.             IMediaSample * This);
  2962.         
  2963.         HRESULT ( STDMETHODCALLTYPE *SetActualDataLength )( 
  2964.             IMediaSample * This,
  2965.             long __MIDL_0010);
  2966.         
  2967.         HRESULT ( STDMETHODCALLTYPE *GetMediaType )( 
  2968.             IMediaSample * This,
  2969.             AM_MEDIA_TYPE **ppMediaType);
  2970.         
  2971.         HRESULT ( STDMETHODCALLTYPE *SetMediaType )( 
  2972.             IMediaSample * This,
  2973.             AM_MEDIA_TYPE *pMediaType);
  2974.         
  2975.         HRESULT ( STDMETHODCALLTYPE *IsDiscontinuity )( 
  2976.             IMediaSample * This);
  2977.         
  2978.         HRESULT ( STDMETHODCALLTYPE *SetDiscontinuity )( 
  2979.             IMediaSample * This,
  2980.             BOOL bDiscontinuity);
  2981.         
  2982.         HRESULT ( STDMETHODCALLTYPE *GetMediaTime )( 
  2983.             IMediaSample * This,
  2984.             /* [out] */ LONGLONG *pTimeStart,
  2985.             /* [out] */ LONGLONG *pTimeEnd);
  2986.         
  2987.         HRESULT ( STDMETHODCALLTYPE *SetMediaTime )( 
  2988.             IMediaSample * This,
  2989.             /* [in] */ LONGLONG *pTimeStart,
  2990.             /* [in] */ LONGLONG *pTimeEnd);
  2991.         
  2992.         END_INTERFACE
  2993.     } IMediaSampleVtbl;
  2994.  
  2995.     interface IMediaSample
  2996.     {
  2997.         CONST_VTBL struct IMediaSampleVtbl *lpVtbl;
  2998.     };
  2999.  
  3000.     
  3001.  
  3002. #ifdef COBJMACROS
  3003.  
  3004.  
  3005. #define IMediaSample_QueryInterface(This,riid,ppvObject)    \
  3006.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  3007.  
  3008. #define IMediaSample_AddRef(This)    \
  3009.     (This)->lpVtbl -> AddRef(This)
  3010.  
  3011. #define IMediaSample_Release(This)    \
  3012.     (This)->lpVtbl -> Release(This)
  3013.  
  3014.  
  3015. #define IMediaSample_GetPointer(This,ppBuffer)    \
  3016.     (This)->lpVtbl -> GetPointer(This,ppBuffer)
  3017.  
  3018. #define IMediaSample_GetSize(This)    \
  3019.     (This)->lpVtbl -> GetSize(This)
  3020.  
  3021. #define IMediaSample_GetTime(This,pTimeStart,pTimeEnd)    \
  3022.     (This)->lpVtbl -> GetTime(This,pTimeStart,pTimeEnd)
  3023.  
  3024. #define IMediaSample_SetTime(This,pTimeStart,pTimeEnd)    \
  3025.     (This)->lpVtbl -> SetTime(This,pTimeStart,pTimeEnd)
  3026.  
  3027. #define IMediaSample_IsSyncPoint(This)    \
  3028.     (This)->lpVtbl -> IsSyncPoint(This)
  3029.  
  3030. #define IMediaSample_SetSyncPoint(This,bIsSyncPoint)    \
  3031.     (This)->lpVtbl -> SetSyncPoint(This,bIsSyncPoint)
  3032.  
  3033. #define IMediaSample_IsPreroll(This)    \
  3034.     (This)->lpVtbl -> IsPreroll(This)
  3035.  
  3036. #define IMediaSample_SetPreroll(This,bIsPreroll)    \
  3037.     (This)->lpVtbl -> SetPreroll(This,bIsPreroll)
  3038.  
  3039. #define IMediaSample_GetActualDataLength(This)    \
  3040.     (This)->lpVtbl -> GetActualDataLength(This)
  3041.  
  3042. #define IMediaSample_SetActualDataLength(This,__MIDL_0010)    \
  3043.     (This)->lpVtbl -> SetActualDataLength(This,__MIDL_0010)
  3044.  
  3045. #define IMediaSample_GetMediaType(This,ppMediaType)    \
  3046.     (This)->lpVtbl -> GetMediaType(This,ppMediaType)
  3047.  
  3048. #define IMediaSample_SetMediaType(This,pMediaType)    \
  3049.     (This)->lpVtbl -> SetMediaType(This,pMediaType)
  3050.  
  3051. #define IMediaSample_IsDiscontinuity(This)    \
  3052.     (This)->lpVtbl -> IsDiscontinuity(This)
  3053.  
  3054. #define IMediaSample_SetDiscontinuity(This,bDiscontinuity)    \
  3055.     (This)->lpVtbl -> SetDiscontinuity(This,bDiscontinuity)
  3056.  
  3057. #define IMediaSample_GetMediaTime(This,pTimeStart,pTimeEnd)    \
  3058.     (This)->lpVtbl -> GetMediaTime(This,pTimeStart,pTimeEnd)
  3059.  
  3060. #define IMediaSample_SetMediaTime(This,pTimeStart,pTimeEnd)    \
  3061.     (This)->lpVtbl -> SetMediaTime(This,pTimeStart,pTimeEnd)
  3062.  
  3063. #endif /* COBJMACROS */
  3064.  
  3065.  
  3066. #endif     /* C style interface */
  3067.  
  3068.  
  3069.  
  3070. HRESULT STDMETHODCALLTYPE IMediaSample_GetPointer_Proxy( 
  3071.     IMediaSample * This,
  3072.     /* [out] */ BYTE **ppBuffer);
  3073.  
  3074.  
  3075. void __RPC_STUB IMediaSample_GetPointer_Stub(
  3076.     IRpcStubBuffer *This,
  3077.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3078.     PRPC_MESSAGE _pRpcMessage,
  3079.     DWORD *_pdwStubPhase);
  3080.  
  3081.  
  3082. long STDMETHODCALLTYPE IMediaSample_GetSize_Proxy( 
  3083.     IMediaSample * This);
  3084.  
  3085.  
  3086. void __RPC_STUB IMediaSample_GetSize_Stub(
  3087.     IRpcStubBuffer *This,
  3088.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3089.     PRPC_MESSAGE _pRpcMessage,
  3090.     DWORD *_pdwStubPhase);
  3091.  
  3092.  
  3093. HRESULT STDMETHODCALLTYPE IMediaSample_GetTime_Proxy( 
  3094.     IMediaSample * This,
  3095.     /* [out] */ REFERENCE_TIME *pTimeStart,
  3096.     /* [out] */ REFERENCE_TIME *pTimeEnd);
  3097.  
  3098.  
  3099. void __RPC_STUB IMediaSample_GetTime_Stub(
  3100.     IRpcStubBuffer *This,
  3101.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3102.     PRPC_MESSAGE _pRpcMessage,
  3103.     DWORD *_pdwStubPhase);
  3104.  
  3105.  
  3106. HRESULT STDMETHODCALLTYPE IMediaSample_SetTime_Proxy( 
  3107.     IMediaSample * This,
  3108.     /* [in] */ REFERENCE_TIME *pTimeStart,
  3109.     /* [in] */ REFERENCE_TIME *pTimeEnd);
  3110.  
  3111.  
  3112. void __RPC_STUB IMediaSample_SetTime_Stub(
  3113.     IRpcStubBuffer *This,
  3114.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3115.     PRPC_MESSAGE _pRpcMessage,
  3116.     DWORD *_pdwStubPhase);
  3117.  
  3118.  
  3119. HRESULT STDMETHODCALLTYPE IMediaSample_IsSyncPoint_Proxy( 
  3120.     IMediaSample * This);
  3121.  
  3122.  
  3123. void __RPC_STUB IMediaSample_IsSyncPoint_Stub(
  3124.     IRpcStubBuffer *This,
  3125.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3126.     PRPC_MESSAGE _pRpcMessage,
  3127.     DWORD *_pdwStubPhase);
  3128.  
  3129.  
  3130. HRESULT STDMETHODCALLTYPE IMediaSample_SetSyncPoint_Proxy( 
  3131.     IMediaSample * This,
  3132.     BOOL bIsSyncPoint);
  3133.  
  3134.  
  3135. void __RPC_STUB IMediaSample_SetSyncPoint_Stub(
  3136.     IRpcStubBuffer *This,
  3137.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3138.     PRPC_MESSAGE _pRpcMessage,
  3139.     DWORD *_pdwStubPhase);
  3140.  
  3141.  
  3142. HRESULT STDMETHODCALLTYPE IMediaSample_IsPreroll_Proxy( 
  3143.     IMediaSample * This);
  3144.  
  3145.  
  3146. void __RPC_STUB IMediaSample_IsPreroll_Stub(
  3147.     IRpcStubBuffer *This,
  3148.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3149.     PRPC_MESSAGE _pRpcMessage,
  3150.     DWORD *_pdwStubPhase);
  3151.  
  3152.  
  3153. HRESULT STDMETHODCALLTYPE IMediaSample_SetPreroll_Proxy( 
  3154.     IMediaSample * This,
  3155.     BOOL bIsPreroll);
  3156.  
  3157.  
  3158. void __RPC_STUB IMediaSample_SetPreroll_Stub(
  3159.     IRpcStubBuffer *This,
  3160.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3161.     PRPC_MESSAGE _pRpcMessage,
  3162.     DWORD *_pdwStubPhase);
  3163.  
  3164.  
  3165. long STDMETHODCALLTYPE IMediaSample_GetActualDataLength_Proxy( 
  3166.     IMediaSample * This);
  3167.  
  3168.  
  3169. void __RPC_STUB IMediaSample_GetActualDataLength_Stub(
  3170.     IRpcStubBuffer *This,
  3171.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3172.     PRPC_MESSAGE _pRpcMessage,
  3173.     DWORD *_pdwStubPhase);
  3174.  
  3175.  
  3176. HRESULT STDMETHODCALLTYPE IMediaSample_SetActualDataLength_Proxy( 
  3177.     IMediaSample * This,
  3178.     long __MIDL_0010);
  3179.  
  3180.  
  3181. void __RPC_STUB IMediaSample_SetActualDataLength_Stub(
  3182.     IRpcStubBuffer *This,
  3183.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3184.     PRPC_MESSAGE _pRpcMessage,
  3185.     DWORD *_pdwStubPhase);
  3186.  
  3187.  
  3188. HRESULT STDMETHODCALLTYPE IMediaSample_GetMediaType_Proxy( 
  3189.     IMediaSample * This,
  3190.     AM_MEDIA_TYPE **ppMediaType);
  3191.  
  3192.  
  3193. void __RPC_STUB IMediaSample_GetMediaType_Stub(
  3194.     IRpcStubBuffer *This,
  3195.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3196.     PRPC_MESSAGE _pRpcMessage,
  3197.     DWORD *_pdwStubPhase);
  3198.  
  3199.  
  3200. HRESULT STDMETHODCALLTYPE IMediaSample_SetMediaType_Proxy( 
  3201.     IMediaSample * This,
  3202.     AM_MEDIA_TYPE *pMediaType);
  3203.  
  3204.  
  3205. void __RPC_STUB IMediaSample_SetMediaType_Stub(
  3206.     IRpcStubBuffer *This,
  3207.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3208.     PRPC_MESSAGE _pRpcMessage,
  3209.     DWORD *_pdwStubPhase);
  3210.  
  3211.  
  3212. HRESULT STDMETHODCALLTYPE IMediaSample_IsDiscontinuity_Proxy( 
  3213.     IMediaSample * This);
  3214.  
  3215.  
  3216. void __RPC_STUB IMediaSample_IsDiscontinuity_Stub(
  3217.     IRpcStubBuffer *This,
  3218.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3219.     PRPC_MESSAGE _pRpcMessage,
  3220.     DWORD *_pdwStubPhase);
  3221.  
  3222.  
  3223. HRESULT STDMETHODCALLTYPE IMediaSample_SetDiscontinuity_Proxy( 
  3224.     IMediaSample * This,
  3225.     BOOL bDiscontinuity);
  3226.  
  3227.  
  3228. void __RPC_STUB IMediaSample_SetDiscontinuity_Stub(
  3229.     IRpcStubBuffer *This,
  3230.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3231.     PRPC_MESSAGE _pRpcMessage,
  3232.     DWORD *_pdwStubPhase);
  3233.  
  3234.  
  3235. HRESULT STDMETHODCALLTYPE IMediaSample_GetMediaTime_Proxy( 
  3236.     IMediaSample * This,
  3237.     /* [out] */ LONGLONG *pTimeStart,
  3238.     /* [out] */ LONGLONG *pTimeEnd);
  3239.  
  3240.  
  3241. void __RPC_STUB IMediaSample_GetMediaTime_Stub(
  3242.     IRpcStubBuffer *This,
  3243.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3244.     PRPC_MESSAGE _pRpcMessage,
  3245.     DWORD *_pdwStubPhase);
  3246.  
  3247.  
  3248. HRESULT STDMETHODCALLTYPE IMediaSample_SetMediaTime_Proxy( 
  3249.     IMediaSample * This,
  3250.     /* [in] */ LONGLONG *pTimeStart,
  3251.     /* [in] */ LONGLONG *pTimeEnd);
  3252.  
  3253.  
  3254. void __RPC_STUB IMediaSample_SetMediaTime_Stub(
  3255.     IRpcStubBuffer *This,
  3256.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3257.     PRPC_MESSAGE _pRpcMessage,
  3258.     DWORD *_pdwStubPhase);
  3259.  
  3260.  
  3261.  
  3262. #endif     /* __IMediaSample_INTERFACE_DEFINED__ */
  3263.  
  3264.  
  3265. /* interface __MIDL_itf_strmif_0118 */
  3266. /* [local] */ 
  3267.  
  3268. typedef IMediaSample *PMEDIASAMPLE;
  3269.  
  3270.  
  3271. enum tagAM_SAMPLE_PROPERTY_FLAGS
  3272.     {    AM_SAMPLE_SPLICEPOINT    = 0x1,
  3273.     AM_SAMPLE_PREROLL    = 0x2,
  3274.     AM_SAMPLE_DATADISCONTINUITY    = 0x4,
  3275.     AM_SAMPLE_TYPECHANGED    = 0x8,
  3276.     AM_SAMPLE_TIMEVALID    = 0x10,
  3277.     AM_SAMPLE_TIMEDISCONTINUITY    = 0x40,
  3278.     AM_SAMPLE_FLUSH_ON_PAUSE    = 0x80,
  3279.     AM_SAMPLE_STOPVALID    = 0x100,
  3280.     AM_SAMPLE_ENDOFSTREAM    = 0x200,
  3281.     AM_STREAM_MEDIA    = 0,
  3282.     AM_STREAM_CONTROL    = 1
  3283.     } ;
  3284. typedef struct tagAM_SAMPLE2_PROPERTIES
  3285.     {
  3286.     DWORD cbData;
  3287.     DWORD dwTypeSpecificFlags;
  3288.     DWORD dwSampleFlags;
  3289.     LONG lActual;
  3290.     REFERENCE_TIME tStart;
  3291.     REFERENCE_TIME tStop;
  3292.     DWORD dwStreamId;
  3293.     AM_MEDIA_TYPE *pMediaType;
  3294.     BYTE *pbBuffer;
  3295.     LONG cbBuffer;
  3296.     }     AM_SAMPLE2_PROPERTIES;
  3297.  
  3298.  
  3299.  
  3300. extern RPC_IF_HANDLE __MIDL_itf_strmif_0118_v0_0_c_ifspec;
  3301. extern RPC_IF_HANDLE __MIDL_itf_strmif_0118_v0_0_s_ifspec;
  3302.  
  3303. #ifndef __IMediaSample2_INTERFACE_DEFINED__
  3304. #define __IMediaSample2_INTERFACE_DEFINED__
  3305.  
  3306. /* interface IMediaSample2 */
  3307. /* [unique][uuid][object][local] */ 
  3308.  
  3309.  
  3310. EXTERN_C const IID IID_IMediaSample2;
  3311.  
  3312. #if defined(__cplusplus) && !defined(CINTERFACE)
  3313.     
  3314.     MIDL_INTERFACE("36b73884-c2c8-11cf-8b46-00805f6cef60")
  3315.     IMediaSample2 : public IMediaSample
  3316.     {
  3317.     public:
  3318.         virtual HRESULT STDMETHODCALLTYPE GetProperties( 
  3319.             /* [in] */ DWORD cbProperties,
  3320.             /* [size_is][out] */ BYTE *pbProperties) = 0;
  3321.         
  3322.         virtual HRESULT STDMETHODCALLTYPE SetProperties( 
  3323.             /* [in] */ DWORD cbProperties,
  3324.             /* [size_is][in] */ const BYTE *pbProperties) = 0;
  3325.         
  3326.     };
  3327.     
  3328. #else     /* C style interface */
  3329.  
  3330.     typedef struct IMediaSample2Vtbl
  3331.     {
  3332.         BEGIN_INTERFACE
  3333.         
  3334.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  3335.             IMediaSample2 * This,
  3336.             /* [in] */ REFIID riid,
  3337.             /* [iid_is][out] */ void **ppvObject);
  3338.         
  3339.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  3340.             IMediaSample2 * This);
  3341.         
  3342.         ULONG ( STDMETHODCALLTYPE *Release )( 
  3343.             IMediaSample2 * This);
  3344.         
  3345.         HRESULT ( STDMETHODCALLTYPE *GetPointer )( 
  3346.             IMediaSample2 * This,
  3347.             /* [out] */ BYTE **ppBuffer);
  3348.         
  3349.         long ( STDMETHODCALLTYPE *GetSize )( 
  3350.             IMediaSample2 * This);
  3351.         
  3352.         HRESULT ( STDMETHODCALLTYPE *GetTime )( 
  3353.             IMediaSample2 * This,
  3354.             /* [out] */ REFERENCE_TIME *pTimeStart,
  3355.             /* [out] */ REFERENCE_TIME *pTimeEnd);
  3356.         
  3357.         HRESULT ( STDMETHODCALLTYPE *SetTime )( 
  3358.             IMediaSample2 * This,
  3359.             /* [in] */ REFERENCE_TIME *pTimeStart,
  3360.             /* [in] */ REFERENCE_TIME *pTimeEnd);
  3361.         
  3362.         HRESULT ( STDMETHODCALLTYPE *IsSyncPoint )( 
  3363.             IMediaSample2 * This);
  3364.         
  3365.         HRESULT ( STDMETHODCALLTYPE *SetSyncPoint )( 
  3366.             IMediaSample2 * This,
  3367.             BOOL bIsSyncPoint);
  3368.         
  3369.         HRESULT ( STDMETHODCALLTYPE *IsPreroll )( 
  3370.             IMediaSample2 * This);
  3371.         
  3372.         HRESULT ( STDMETHODCALLTYPE *SetPreroll )( 
  3373.             IMediaSample2 * This,
  3374.             BOOL bIsPreroll);
  3375.         
  3376.         long ( STDMETHODCALLTYPE *GetActualDataLength )( 
  3377.             IMediaSample2 * This);
  3378.         
  3379.         HRESULT ( STDMETHODCALLTYPE *SetActualDataLength )( 
  3380.             IMediaSample2 * This,
  3381.             long __MIDL_0010);
  3382.         
  3383.         HRESULT ( STDMETHODCALLTYPE *GetMediaType )( 
  3384.             IMediaSample2 * This,
  3385.             AM_MEDIA_TYPE **ppMediaType);
  3386.         
  3387.         HRESULT ( STDMETHODCALLTYPE *SetMediaType )( 
  3388.             IMediaSample2 * This,
  3389.             AM_MEDIA_TYPE *pMediaType);
  3390.         
  3391.         HRESULT ( STDMETHODCALLTYPE *IsDiscontinuity )( 
  3392.             IMediaSample2 * This);
  3393.         
  3394.         HRESULT ( STDMETHODCALLTYPE *SetDiscontinuity )( 
  3395.             IMediaSample2 * This,
  3396.             BOOL bDiscontinuity);
  3397.         
  3398.         HRESULT ( STDMETHODCALLTYPE *GetMediaTime )( 
  3399.             IMediaSample2 * This,
  3400.             /* [out] */ LONGLONG *pTimeStart,
  3401.             /* [out] */ LONGLONG *pTimeEnd);
  3402.         
  3403.         HRESULT ( STDMETHODCALLTYPE *SetMediaTime )( 
  3404.             IMediaSample2 * This,
  3405.             /* [in] */ LONGLONG *pTimeStart,
  3406.             /* [in] */ LONGLONG *pTimeEnd);
  3407.         
  3408.         HRESULT ( STDMETHODCALLTYPE *GetProperties )( 
  3409.             IMediaSample2 * This,
  3410.             /* [in] */ DWORD cbProperties,
  3411.             /* [size_is][out] */ BYTE *pbProperties);
  3412.         
  3413.         HRESULT ( STDMETHODCALLTYPE *SetProperties )( 
  3414.             IMediaSample2 * This,
  3415.             /* [in] */ DWORD cbProperties,
  3416.             /* [size_is][in] */ const BYTE *pbProperties);
  3417.         
  3418.         END_INTERFACE
  3419.     } IMediaSample2Vtbl;
  3420.  
  3421.     interface IMediaSample2
  3422.     {
  3423.         CONST_VTBL struct IMediaSample2Vtbl *lpVtbl;
  3424.     };
  3425.  
  3426.     
  3427.  
  3428. #ifdef COBJMACROS
  3429.  
  3430.  
  3431. #define IMediaSample2_QueryInterface(This,riid,ppvObject)    \
  3432.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  3433.  
  3434. #define IMediaSample2_AddRef(This)    \
  3435.     (This)->lpVtbl -> AddRef(This)
  3436.  
  3437. #define IMediaSample2_Release(This)    \
  3438.     (This)->lpVtbl -> Release(This)
  3439.  
  3440.  
  3441. #define IMediaSample2_GetPointer(This,ppBuffer)    \
  3442.     (This)->lpVtbl -> GetPointer(This,ppBuffer)
  3443.  
  3444. #define IMediaSample2_GetSize(This)    \
  3445.     (This)->lpVtbl -> GetSize(This)
  3446.  
  3447. #define IMediaSample2_GetTime(This,pTimeStart,pTimeEnd)    \
  3448.     (This)->lpVtbl -> GetTime(This,pTimeStart,pTimeEnd)
  3449.  
  3450. #define IMediaSample2_SetTime(This,pTimeStart,pTimeEnd)    \
  3451.     (This)->lpVtbl -> SetTime(This,pTimeStart,pTimeEnd)
  3452.  
  3453. #define IMediaSample2_IsSyncPoint(This)    \
  3454.     (This)->lpVtbl -> IsSyncPoint(This)
  3455.  
  3456. #define IMediaSample2_SetSyncPoint(This,bIsSyncPoint)    \
  3457.     (This)->lpVtbl -> SetSyncPoint(This,bIsSyncPoint)
  3458.  
  3459. #define IMediaSample2_IsPreroll(This)    \
  3460.     (This)->lpVtbl -> IsPreroll(This)
  3461.  
  3462. #define IMediaSample2_SetPreroll(This,bIsPreroll)    \
  3463.     (This)->lpVtbl -> SetPreroll(This,bIsPreroll)
  3464.  
  3465. #define IMediaSample2_GetActualDataLength(This)    \
  3466.     (This)->lpVtbl -> GetActualDataLength(This)
  3467.  
  3468. #define IMediaSample2_SetActualDataLength(This,__MIDL_0010)    \
  3469.     (This)->lpVtbl -> SetActualDataLength(This,__MIDL_0010)
  3470.  
  3471. #define IMediaSample2_GetMediaType(This,ppMediaType)    \
  3472.     (This)->lpVtbl -> GetMediaType(This,ppMediaType)
  3473.  
  3474. #define IMediaSample2_SetMediaType(This,pMediaType)    \
  3475.     (This)->lpVtbl -> SetMediaType(This,pMediaType)
  3476.  
  3477. #define IMediaSample2_IsDiscontinuity(This)    \
  3478.     (This)->lpVtbl -> IsDiscontinuity(This)
  3479.  
  3480. #define IMediaSample2_SetDiscontinuity(This,bDiscontinuity)    \
  3481.     (This)->lpVtbl -> SetDiscontinuity(This,bDiscontinuity)
  3482.  
  3483. #define IMediaSample2_GetMediaTime(This,pTimeStart,pTimeEnd)    \
  3484.     (This)->lpVtbl -> GetMediaTime(This,pTimeStart,pTimeEnd)
  3485.  
  3486. #define IMediaSample2_SetMediaTime(This,pTimeStart,pTimeEnd)    \
  3487.     (This)->lpVtbl -> SetMediaTime(This,pTimeStart,pTimeEnd)
  3488.  
  3489.  
  3490. #define IMediaSample2_GetProperties(This,cbProperties,pbProperties)    \
  3491.     (This)->lpVtbl -> GetProperties(This,cbProperties,pbProperties)
  3492.  
  3493. #define IMediaSample2_SetProperties(This,cbProperties,pbProperties)    \
  3494.     (This)->lpVtbl -> SetProperties(This,cbProperties,pbProperties)
  3495.  
  3496. #endif /* COBJMACROS */
  3497.  
  3498.  
  3499. #endif     /* C style interface */
  3500.  
  3501.  
  3502.  
  3503. HRESULT STDMETHODCALLTYPE IMediaSample2_GetProperties_Proxy( 
  3504.     IMediaSample2 * This,
  3505.     /* [in] */ DWORD cbProperties,
  3506.     /* [size_is][out] */ BYTE *pbProperties);
  3507.  
  3508.  
  3509. void __RPC_STUB IMediaSample2_GetProperties_Stub(
  3510.     IRpcStubBuffer *This,
  3511.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3512.     PRPC_MESSAGE _pRpcMessage,
  3513.     DWORD *_pdwStubPhase);
  3514.  
  3515.  
  3516. HRESULT STDMETHODCALLTYPE IMediaSample2_SetProperties_Proxy( 
  3517.     IMediaSample2 * This,
  3518.     /* [in] */ DWORD cbProperties,
  3519.     /* [size_is][in] */ const BYTE *pbProperties);
  3520.  
  3521.  
  3522. void __RPC_STUB IMediaSample2_SetProperties_Stub(
  3523.     IRpcStubBuffer *This,
  3524.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3525.     PRPC_MESSAGE _pRpcMessage,
  3526.     DWORD *_pdwStubPhase);
  3527.  
  3528.  
  3529.  
  3530. #endif     /* __IMediaSample2_INTERFACE_DEFINED__ */
  3531.  
  3532.  
  3533. /* interface __MIDL_itf_strmif_0119 */
  3534. /* [local] */ 
  3535.  
  3536. typedef IMediaSample2 *PMEDIASAMPLE2;
  3537.  
  3538. #define AM_GBF_PREVFRAMESKIPPED 1
  3539. #define AM_GBF_NOTASYNCPOINT 2
  3540. #define AM_GBF_NOWAIT 4
  3541.  
  3542.  
  3543. extern RPC_IF_HANDLE __MIDL_itf_strmif_0119_v0_0_c_ifspec;
  3544. extern RPC_IF_HANDLE __MIDL_itf_strmif_0119_v0_0_s_ifspec;
  3545.  
  3546. #ifndef __IMemAllocator_INTERFACE_DEFINED__
  3547. #define __IMemAllocator_INTERFACE_DEFINED__
  3548.  
  3549. /* interface IMemAllocator */
  3550. /* [unique][uuid][object] */ 
  3551.  
  3552.  
  3553. EXTERN_C const IID IID_IMemAllocator;
  3554.  
  3555. #if defined(__cplusplus) && !defined(CINTERFACE)
  3556.     
  3557.     MIDL_INTERFACE("56a8689c-0ad4-11ce-b03a-0020af0ba770")
  3558.     IMemAllocator : public IUnknown
  3559.     {
  3560.     public:
  3561.         virtual HRESULT STDMETHODCALLTYPE SetProperties( 
  3562.             /* [in] */ ALLOCATOR_PROPERTIES *pRequest,
  3563.             /* [out] */ ALLOCATOR_PROPERTIES *pActual) = 0;
  3564.         
  3565.         virtual HRESULT STDMETHODCALLTYPE GetProperties( 
  3566.             /* [out] */ ALLOCATOR_PROPERTIES *pProps) = 0;
  3567.         
  3568.         virtual HRESULT STDMETHODCALLTYPE Commit( void) = 0;
  3569.         
  3570.         virtual HRESULT STDMETHODCALLTYPE Decommit( void) = 0;
  3571.         
  3572.         virtual HRESULT STDMETHODCALLTYPE GetBuffer( 
  3573.             /* [out] */ IMediaSample **ppBuffer,
  3574.             /* [in] */ REFERENCE_TIME *pStartTime,
  3575.             /* [in] */ REFERENCE_TIME *pEndTime,
  3576.             /* [in] */ DWORD dwFlags) = 0;
  3577.         
  3578.         virtual HRESULT STDMETHODCALLTYPE ReleaseBuffer( 
  3579.             /* [in] */ IMediaSample *pBuffer) = 0;
  3580.         
  3581.     };
  3582.     
  3583. #else     /* C style interface */
  3584.  
  3585.     typedef struct IMemAllocatorVtbl
  3586.     {
  3587.         BEGIN_INTERFACE
  3588.         
  3589.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  3590.             IMemAllocator * This,
  3591.             /* [in] */ REFIID riid,
  3592.             /* [iid_is][out] */ void **ppvObject);
  3593.         
  3594.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  3595.             IMemAllocator * This);
  3596.         
  3597.         ULONG ( STDMETHODCALLTYPE *Release )( 
  3598.             IMemAllocator * This);
  3599.         
  3600.         HRESULT ( STDMETHODCALLTYPE *SetProperties )( 
  3601.             IMemAllocator * This,
  3602.             /* [in] */ ALLOCATOR_PROPERTIES *pRequest,
  3603.             /* [out] */ ALLOCATOR_PROPERTIES *pActual);
  3604.         
  3605.         HRESULT ( STDMETHODCALLTYPE *GetProperties )( 
  3606.             IMemAllocator * This,
  3607.             /* [out] */ ALLOCATOR_PROPERTIES *pProps);
  3608.         
  3609.         HRESULT ( STDMETHODCALLTYPE *Commit )( 
  3610.             IMemAllocator * This);
  3611.         
  3612.         HRESULT ( STDMETHODCALLTYPE *Decommit )( 
  3613.             IMemAllocator * This);
  3614.         
  3615.         HRESULT ( STDMETHODCALLTYPE *GetBuffer )( 
  3616.             IMemAllocator * This,
  3617.             /* [out] */ IMediaSample **ppBuffer,
  3618.             /* [in] */ REFERENCE_TIME *pStartTime,
  3619.             /* [in] */ REFERENCE_TIME *pEndTime,
  3620.             /* [in] */ DWORD dwFlags);
  3621.         
  3622.         HRESULT ( STDMETHODCALLTYPE *ReleaseBuffer )( 
  3623.             IMemAllocator * This,
  3624.             /* [in] */ IMediaSample *pBuffer);
  3625.         
  3626.         END_INTERFACE
  3627.     } IMemAllocatorVtbl;
  3628.  
  3629.     interface IMemAllocator
  3630.     {
  3631.         CONST_VTBL struct IMemAllocatorVtbl *lpVtbl;
  3632.     };
  3633.  
  3634.     
  3635.  
  3636. #ifdef COBJMACROS
  3637.  
  3638.  
  3639. #define IMemAllocator_QueryInterface(This,riid,ppvObject)    \
  3640.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  3641.  
  3642. #define IMemAllocator_AddRef(This)    \
  3643.     (This)->lpVtbl -> AddRef(This)
  3644.  
  3645. #define IMemAllocator_Release(This)    \
  3646.     (This)->lpVtbl -> Release(This)
  3647.  
  3648.  
  3649. #define IMemAllocator_SetProperties(This,pRequest,pActual)    \
  3650.     (This)->lpVtbl -> SetProperties(This,pRequest,pActual)
  3651.  
  3652. #define IMemAllocator_GetProperties(This,pProps)    \
  3653.     (This)->lpVtbl -> GetProperties(This,pProps)
  3654.  
  3655. #define IMemAllocator_Commit(This)    \
  3656.     (This)->lpVtbl -> Commit(This)
  3657.  
  3658. #define IMemAllocator_Decommit(This)    \
  3659.     (This)->lpVtbl -> Decommit(This)
  3660.  
  3661. #define IMemAllocator_GetBuffer(This,ppBuffer,pStartTime,pEndTime,dwFlags)    \
  3662.     (This)->lpVtbl -> GetBuffer(This,ppBuffer,pStartTime,pEndTime,dwFlags)
  3663.  
  3664. #define IMemAllocator_ReleaseBuffer(This,pBuffer)    \
  3665.     (This)->lpVtbl -> ReleaseBuffer(This,pBuffer)
  3666.  
  3667. #endif /* COBJMACROS */
  3668.  
  3669.  
  3670. #endif     /* C style interface */
  3671.  
  3672.  
  3673.  
  3674. HRESULT STDMETHODCALLTYPE IMemAllocator_SetProperties_Proxy( 
  3675.     IMemAllocator * This,
  3676.     /* [in] */ ALLOCATOR_PROPERTIES *pRequest,
  3677.     /* [out] */ ALLOCATOR_PROPERTIES *pActual);
  3678.  
  3679.  
  3680. void __RPC_STUB IMemAllocator_SetProperties_Stub(
  3681.     IRpcStubBuffer *This,
  3682.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3683.     PRPC_MESSAGE _pRpcMessage,
  3684.     DWORD *_pdwStubPhase);
  3685.  
  3686.  
  3687. HRESULT STDMETHODCALLTYPE IMemAllocator_GetProperties_Proxy( 
  3688.     IMemAllocator * This,
  3689.     /* [out] */ ALLOCATOR_PROPERTIES *pProps);
  3690.  
  3691.  
  3692. void __RPC_STUB IMemAllocator_GetProperties_Stub(
  3693.     IRpcStubBuffer *This,
  3694.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3695.     PRPC_MESSAGE _pRpcMessage,
  3696.     DWORD *_pdwStubPhase);
  3697.  
  3698.  
  3699. HRESULT STDMETHODCALLTYPE IMemAllocator_Commit_Proxy( 
  3700.     IMemAllocator * This);
  3701.  
  3702.  
  3703. void __RPC_STUB IMemAllocator_Commit_Stub(
  3704.     IRpcStubBuffer *This,
  3705.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3706.     PRPC_MESSAGE _pRpcMessage,
  3707.     DWORD *_pdwStubPhase);
  3708.  
  3709.  
  3710. HRESULT STDMETHODCALLTYPE IMemAllocator_Decommit_Proxy( 
  3711.     IMemAllocator * This);
  3712.  
  3713.  
  3714. void __RPC_STUB IMemAllocator_Decommit_Stub(
  3715.     IRpcStubBuffer *This,
  3716.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3717.     PRPC_MESSAGE _pRpcMessage,
  3718.     DWORD *_pdwStubPhase);
  3719.  
  3720.  
  3721. HRESULT STDMETHODCALLTYPE IMemAllocator_GetBuffer_Proxy( 
  3722.     IMemAllocator * This,
  3723.     /* [out] */ IMediaSample **ppBuffer,
  3724.     /* [in] */ REFERENCE_TIME *pStartTime,
  3725.     /* [in] */ REFERENCE_TIME *pEndTime,
  3726.     /* [in] */ DWORD dwFlags);
  3727.  
  3728.  
  3729. void __RPC_STUB IMemAllocator_GetBuffer_Stub(
  3730.     IRpcStubBuffer *This,
  3731.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3732.     PRPC_MESSAGE _pRpcMessage,
  3733.     DWORD *_pdwStubPhase);
  3734.  
  3735.  
  3736. HRESULT STDMETHODCALLTYPE IMemAllocator_ReleaseBuffer_Proxy( 
  3737.     IMemAllocator * This,
  3738.     /* [in] */ IMediaSample *pBuffer);
  3739.  
  3740.  
  3741. void __RPC_STUB IMemAllocator_ReleaseBuffer_Stub(
  3742.     IRpcStubBuffer *This,
  3743.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3744.     PRPC_MESSAGE _pRpcMessage,
  3745.     DWORD *_pdwStubPhase);
  3746.  
  3747.  
  3748.  
  3749. #endif     /* __IMemAllocator_INTERFACE_DEFINED__ */
  3750.  
  3751.  
  3752. /* interface __MIDL_itf_strmif_0120 */
  3753. /* [local] */ 
  3754.  
  3755. typedef IMemAllocator *PMEMALLOCATOR;
  3756.  
  3757.  
  3758.  
  3759. extern RPC_IF_HANDLE __MIDL_itf_strmif_0120_v0_0_c_ifspec;
  3760. extern RPC_IF_HANDLE __MIDL_itf_strmif_0120_v0_0_s_ifspec;
  3761.  
  3762. #ifndef __IMemAllocatorCallbackTemp_INTERFACE_DEFINED__
  3763. #define __IMemAllocatorCallbackTemp_INTERFACE_DEFINED__
  3764.  
  3765. /* interface IMemAllocatorCallbackTemp */
  3766. /* [unique][uuid][object] */ 
  3767.  
  3768.  
  3769. EXTERN_C const IID IID_IMemAllocatorCallbackTemp;
  3770.  
  3771. #if defined(__cplusplus) && !defined(CINTERFACE)
  3772.     
  3773.     MIDL_INTERFACE("379a0cf0-c1de-11d2-abf5-00a0c905f375")
  3774.     IMemAllocatorCallbackTemp : public IMemAllocator
  3775.     {
  3776.     public:
  3777.         virtual HRESULT STDMETHODCALLTYPE SetNotify( 
  3778.             /* [in] */ IMemAllocatorNotifyCallbackTemp *pNotify) = 0;
  3779.         
  3780.         virtual HRESULT STDMETHODCALLTYPE GetFreeCount( 
  3781.             /* [out] */ LONG *plBuffersFree) = 0;
  3782.         
  3783.     };
  3784.     
  3785. #else     /* C style interface */
  3786.  
  3787.     typedef struct IMemAllocatorCallbackTempVtbl
  3788.     {
  3789.         BEGIN_INTERFACE
  3790.         
  3791.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  3792.             IMemAllocatorCallbackTemp * This,
  3793.             /* [in] */ REFIID riid,
  3794.             /* [iid_is][out] */ void **ppvObject);
  3795.         
  3796.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  3797.             IMemAllocatorCallbackTemp * This);
  3798.         
  3799.         ULONG ( STDMETHODCALLTYPE *Release )( 
  3800.             IMemAllocatorCallbackTemp * This);
  3801.         
  3802.         HRESULT ( STDMETHODCALLTYPE *SetProperties )( 
  3803.             IMemAllocatorCallbackTemp * This,
  3804.             /* [in] */ ALLOCATOR_PROPERTIES *pRequest,
  3805.             /* [out] */ ALLOCATOR_PROPERTIES *pActual);
  3806.         
  3807.         HRESULT ( STDMETHODCALLTYPE *GetProperties )( 
  3808.             IMemAllocatorCallbackTemp * This,
  3809.             /* [out] */ ALLOCATOR_PROPERTIES *pProps);
  3810.         
  3811.         HRESULT ( STDMETHODCALLTYPE *Commit )( 
  3812.             IMemAllocatorCallbackTemp * This);
  3813.         
  3814.         HRESULT ( STDMETHODCALLTYPE *Decommit )( 
  3815.             IMemAllocatorCallbackTemp * This);
  3816.         
  3817.         HRESULT ( STDMETHODCALLTYPE *GetBuffer )( 
  3818.             IMemAllocatorCallbackTemp * This,
  3819.             /* [out] */ IMediaSample **ppBuffer,
  3820.             /* [in] */ REFERENCE_TIME *pStartTime,
  3821.             /* [in] */ REFERENCE_TIME *pEndTime,
  3822.             /* [in] */ DWORD dwFlags);
  3823.         
  3824.         HRESULT ( STDMETHODCALLTYPE *ReleaseBuffer )( 
  3825.             IMemAllocatorCallbackTemp * This,
  3826.             /* [in] */ IMediaSample *pBuffer);
  3827.         
  3828.         HRESULT ( STDMETHODCALLTYPE *SetNotify )( 
  3829.             IMemAllocatorCallbackTemp * This,
  3830.             /* [in] */ IMemAllocatorNotifyCallbackTemp *pNotify);
  3831.         
  3832.         HRESULT ( STDMETHODCALLTYPE *GetFreeCount )( 
  3833.             IMemAllocatorCallbackTemp * This,
  3834.             /* [out] */ LONG *plBuffersFree);
  3835.         
  3836.         END_INTERFACE
  3837.     } IMemAllocatorCallbackTempVtbl;
  3838.  
  3839.     interface IMemAllocatorCallbackTemp
  3840.     {
  3841.         CONST_VTBL struct IMemAllocatorCallbackTempVtbl *lpVtbl;
  3842.     };
  3843.  
  3844.     
  3845.  
  3846. #ifdef COBJMACROS
  3847.  
  3848.  
  3849. #define IMemAllocatorCallbackTemp_QueryInterface(This,riid,ppvObject)    \
  3850.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  3851.  
  3852. #define IMemAllocatorCallbackTemp_AddRef(This)    \
  3853.     (This)->lpVtbl -> AddRef(This)
  3854.  
  3855. #define IMemAllocatorCallbackTemp_Release(This)    \
  3856.     (This)->lpVtbl -> Release(This)
  3857.  
  3858.  
  3859. #define IMemAllocatorCallbackTemp_SetProperties(This,pRequest,pActual)    \
  3860.     (This)->lpVtbl -> SetProperties(This,pRequest,pActual)
  3861.  
  3862. #define IMemAllocatorCallbackTemp_GetProperties(This,pProps)    \
  3863.     (This)->lpVtbl -> GetProperties(This,pProps)
  3864.  
  3865. #define IMemAllocatorCallbackTemp_Commit(This)    \
  3866.     (This)->lpVtbl -> Commit(This)
  3867.  
  3868. #define IMemAllocatorCallbackTemp_Decommit(This)    \
  3869.     (This)->lpVtbl -> Decommit(This)
  3870.  
  3871. #define IMemAllocatorCallbackTemp_GetBuffer(This,ppBuffer,pStartTime,pEndTime,dwFlags)    \
  3872.     (This)->lpVtbl -> GetBuffer(This,ppBuffer,pStartTime,pEndTime,dwFlags)
  3873.  
  3874. #define IMemAllocatorCallbackTemp_ReleaseBuffer(This,pBuffer)    \
  3875.     (This)->lpVtbl -> ReleaseBuffer(This,pBuffer)
  3876.  
  3877.  
  3878. #define IMemAllocatorCallbackTemp_SetNotify(This,pNotify)    \
  3879.     (This)->lpVtbl -> SetNotify(This,pNotify)
  3880.  
  3881. #define IMemAllocatorCallbackTemp_GetFreeCount(This,plBuffersFree)    \
  3882.     (This)->lpVtbl -> GetFreeCount(This,plBuffersFree)
  3883.  
  3884. #endif /* COBJMACROS */
  3885.  
  3886.  
  3887. #endif     /* C style interface */
  3888.  
  3889.  
  3890.  
  3891. HRESULT STDMETHODCALLTYPE IMemAllocatorCallbackTemp_SetNotify_Proxy( 
  3892.     IMemAllocatorCallbackTemp * This,
  3893.     /* [in] */ IMemAllocatorNotifyCallbackTemp *pNotify);
  3894.  
  3895.  
  3896. void __RPC_STUB IMemAllocatorCallbackTemp_SetNotify_Stub(
  3897.     IRpcStubBuffer *This,
  3898.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3899.     PRPC_MESSAGE _pRpcMessage,
  3900.     DWORD *_pdwStubPhase);
  3901.  
  3902.  
  3903. HRESULT STDMETHODCALLTYPE IMemAllocatorCallbackTemp_GetFreeCount_Proxy( 
  3904.     IMemAllocatorCallbackTemp * This,
  3905.     /* [out] */ LONG *plBuffersFree);
  3906.  
  3907.  
  3908. void __RPC_STUB IMemAllocatorCallbackTemp_GetFreeCount_Stub(
  3909.     IRpcStubBuffer *This,
  3910.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3911.     PRPC_MESSAGE _pRpcMessage,
  3912.     DWORD *_pdwStubPhase);
  3913.  
  3914.  
  3915.  
  3916. #endif     /* __IMemAllocatorCallbackTemp_INTERFACE_DEFINED__ */
  3917.  
  3918.  
  3919. #ifndef __IMemAllocatorNotifyCallbackTemp_INTERFACE_DEFINED__
  3920. #define __IMemAllocatorNotifyCallbackTemp_INTERFACE_DEFINED__
  3921.  
  3922. /* interface IMemAllocatorNotifyCallbackTemp */
  3923. /* [unique][uuid][object] */ 
  3924.  
  3925.  
  3926. EXTERN_C const IID IID_IMemAllocatorNotifyCallbackTemp;
  3927.  
  3928. #if defined(__cplusplus) && !defined(CINTERFACE)
  3929.     
  3930.     MIDL_INTERFACE("92980b30-c1de-11d2-abf5-00a0c905f375")
  3931.     IMemAllocatorNotifyCallbackTemp : public IUnknown
  3932.     {
  3933.     public:
  3934.         virtual HRESULT STDMETHODCALLTYPE NotifyRelease( void) = 0;
  3935.         
  3936.     };
  3937.     
  3938. #else     /* C style interface */
  3939.  
  3940.     typedef struct IMemAllocatorNotifyCallbackTempVtbl
  3941.     {
  3942.         BEGIN_INTERFACE
  3943.         
  3944.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  3945.             IMemAllocatorNotifyCallbackTemp * This,
  3946.             /* [in] */ REFIID riid,
  3947.             /* [iid_is][out] */ void **ppvObject);
  3948.         
  3949.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  3950.             IMemAllocatorNotifyCallbackTemp * This);
  3951.         
  3952.         ULONG ( STDMETHODCALLTYPE *Release )( 
  3953.             IMemAllocatorNotifyCallbackTemp * This);
  3954.         
  3955.         HRESULT ( STDMETHODCALLTYPE *NotifyRelease )( 
  3956.             IMemAllocatorNotifyCallbackTemp * This);
  3957.         
  3958.         END_INTERFACE
  3959.     } IMemAllocatorNotifyCallbackTempVtbl;
  3960.  
  3961.     interface IMemAllocatorNotifyCallbackTemp
  3962.     {
  3963.         CONST_VTBL struct IMemAllocatorNotifyCallbackTempVtbl *lpVtbl;
  3964.     };
  3965.  
  3966.     
  3967.  
  3968. #ifdef COBJMACROS
  3969.  
  3970.  
  3971. #define IMemAllocatorNotifyCallbackTemp_QueryInterface(This,riid,ppvObject)    \
  3972.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  3973.  
  3974. #define IMemAllocatorNotifyCallbackTemp_AddRef(This)    \
  3975.     (This)->lpVtbl -> AddRef(This)
  3976.  
  3977. #define IMemAllocatorNotifyCallbackTemp_Release(This)    \
  3978.     (This)->lpVtbl -> Release(This)
  3979.  
  3980.  
  3981. #define IMemAllocatorNotifyCallbackTemp_NotifyRelease(This)    \
  3982.     (This)->lpVtbl -> NotifyRelease(This)
  3983.  
  3984. #endif /* COBJMACROS */
  3985.  
  3986.  
  3987. #endif     /* C style interface */
  3988.  
  3989.  
  3990.  
  3991. HRESULT STDMETHODCALLTYPE IMemAllocatorNotifyCallbackTemp_NotifyRelease_Proxy( 
  3992.     IMemAllocatorNotifyCallbackTemp * This);
  3993.  
  3994.  
  3995. void __RPC_STUB IMemAllocatorNotifyCallbackTemp_NotifyRelease_Stub(
  3996.     IRpcStubBuffer *This,
  3997.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3998.     PRPC_MESSAGE _pRpcMessage,
  3999.     DWORD *_pdwStubPhase);
  4000.  
  4001.  
  4002.  
  4003. #endif     /* __IMemAllocatorNotifyCallbackTemp_INTERFACE_DEFINED__ */
  4004.  
  4005.  
  4006. #ifndef __IMemInputPin_INTERFACE_DEFINED__
  4007. #define __IMemInputPin_INTERFACE_DEFINED__
  4008.  
  4009. /* interface IMemInputPin */
  4010. /* [unique][uuid][object] */ 
  4011.  
  4012.  
  4013. EXTERN_C const IID IID_IMemInputPin;
  4014.  
  4015. #if defined(__cplusplus) && !defined(CINTERFACE)
  4016.     
  4017.     MIDL_INTERFACE("56a8689d-0ad4-11ce-b03a-0020af0ba770")
  4018.     IMemInputPin : public IUnknown
  4019.     {
  4020.     public:
  4021.         virtual HRESULT STDMETHODCALLTYPE GetAllocator( 
  4022.             /* [out] */ IMemAllocator **ppAllocator) = 0;
  4023.         
  4024.         virtual HRESULT STDMETHODCALLTYPE NotifyAllocator( 
  4025.             /* [in] */ IMemAllocator *pAllocator,
  4026.             /* [in] */ BOOL bReadOnly) = 0;
  4027.         
  4028.         virtual HRESULT STDMETHODCALLTYPE GetAllocatorRequirements( 
  4029.             /* [out] */ ALLOCATOR_PROPERTIES *pProps) = 0;
  4030.         
  4031.         virtual HRESULT STDMETHODCALLTYPE Receive( 
  4032.             /* [in] */ IMediaSample *pSample) = 0;
  4033.         
  4034.         virtual HRESULT STDMETHODCALLTYPE ReceiveMultiple( 
  4035.             /* [size_is][in] */ IMediaSample **pSamples,
  4036.             /* [in] */ long nSamples,
  4037.             /* [out] */ long *nSamplesProcessed) = 0;
  4038.         
  4039.         virtual HRESULT STDMETHODCALLTYPE ReceiveCanBlock( void) = 0;
  4040.         
  4041.     };
  4042.     
  4043. #else     /* C style interface */
  4044.  
  4045.     typedef struct IMemInputPinVtbl
  4046.     {
  4047.         BEGIN_INTERFACE
  4048.         
  4049.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  4050.             IMemInputPin * This,
  4051.             /* [in] */ REFIID riid,
  4052.             /* [iid_is][out] */ void **ppvObject);
  4053.         
  4054.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  4055.             IMemInputPin * This);
  4056.         
  4057.         ULONG ( STDMETHODCALLTYPE *Release )( 
  4058.             IMemInputPin * This);
  4059.         
  4060.         HRESULT ( STDMETHODCALLTYPE *GetAllocator )( 
  4061.             IMemInputPin * This,
  4062.             /* [out] */ IMemAllocator **ppAllocator);
  4063.         
  4064.         HRESULT ( STDMETHODCALLTYPE *NotifyAllocator )( 
  4065.             IMemInputPin * This,
  4066.             /* [in] */ IMemAllocator *pAllocator,
  4067.             /* [in] */ BOOL bReadOnly);
  4068.         
  4069.         HRESULT ( STDMETHODCALLTYPE *GetAllocatorRequirements )( 
  4070.             IMemInputPin * This,
  4071.             /* [out] */ ALLOCATOR_PROPERTIES *pProps);
  4072.         
  4073.         HRESULT ( STDMETHODCALLTYPE *Receive )( 
  4074.             IMemInputPin * This,
  4075.             /* [in] */ IMediaSample *pSample);
  4076.         
  4077.         HRESULT ( STDMETHODCALLTYPE *ReceiveMultiple )( 
  4078.             IMemInputPin * This,
  4079.             /* [size_is][in] */ IMediaSample **pSamples,
  4080.             /* [in] */ long nSamples,
  4081.             /* [out] */ long *nSamplesProcessed);
  4082.         
  4083.         HRESULT ( STDMETHODCALLTYPE *ReceiveCanBlock )( 
  4084.             IMemInputPin * This);
  4085.         
  4086.         END_INTERFACE
  4087.     } IMemInputPinVtbl;
  4088.  
  4089.     interface IMemInputPin
  4090.     {
  4091.         CONST_VTBL struct IMemInputPinVtbl *lpVtbl;
  4092.     };
  4093.  
  4094.     
  4095.  
  4096. #ifdef COBJMACROS
  4097.  
  4098.  
  4099. #define IMemInputPin_QueryInterface(This,riid,ppvObject)    \
  4100.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  4101.  
  4102. #define IMemInputPin_AddRef(This)    \
  4103.     (This)->lpVtbl -> AddRef(This)
  4104.  
  4105. #define IMemInputPin_Release(This)    \
  4106.     (This)->lpVtbl -> Release(This)
  4107.  
  4108.  
  4109. #define IMemInputPin_GetAllocator(This,ppAllocator)    \
  4110.     (This)->lpVtbl -> GetAllocator(This,ppAllocator)
  4111.  
  4112. #define IMemInputPin_NotifyAllocator(This,pAllocator,bReadOnly)    \
  4113.     (This)->lpVtbl -> NotifyAllocator(This,pAllocator,bReadOnly)
  4114.  
  4115. #define IMemInputPin_GetAllocatorRequirements(This,pProps)    \
  4116.     (This)->lpVtbl -> GetAllocatorRequirements(This,pProps)
  4117.  
  4118. #define IMemInputPin_Receive(This,pSample)    \
  4119.     (This)->lpVtbl -> Receive(This,pSample)
  4120.  
  4121. #define IMemInputPin_ReceiveMultiple(This,pSamples,nSamples,nSamplesProcessed)    \
  4122.     (This)->lpVtbl -> ReceiveMultiple(This,pSamples,nSamples,nSamplesProcessed)
  4123.  
  4124. #define IMemInputPin_ReceiveCanBlock(This)    \
  4125.     (This)->lpVtbl -> ReceiveCanBlock(This)
  4126.  
  4127. #endif /* COBJMACROS */
  4128.  
  4129.  
  4130. #endif     /* C style interface */
  4131.  
  4132.  
  4133.  
  4134. HRESULT STDMETHODCALLTYPE IMemInputPin_GetAllocator_Proxy( 
  4135.     IMemInputPin * This,
  4136.     /* [out] */ IMemAllocator **ppAllocator);
  4137.  
  4138.  
  4139. void __RPC_STUB IMemInputPin_GetAllocator_Stub(
  4140.     IRpcStubBuffer *This,
  4141.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4142.     PRPC_MESSAGE _pRpcMessage,
  4143.     DWORD *_pdwStubPhase);
  4144.  
  4145.  
  4146. HRESULT STDMETHODCALLTYPE IMemInputPin_NotifyAllocator_Proxy( 
  4147.     IMemInputPin * This,
  4148.     /* [in] */ IMemAllocator *pAllocator,
  4149.     /* [in] */ BOOL bReadOnly);
  4150.  
  4151.  
  4152. void __RPC_STUB IMemInputPin_NotifyAllocator_Stub(
  4153.     IRpcStubBuffer *This,
  4154.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4155.     PRPC_MESSAGE _pRpcMessage,
  4156.     DWORD *_pdwStubPhase);
  4157.  
  4158.  
  4159. HRESULT STDMETHODCALLTYPE IMemInputPin_GetAllocatorRequirements_Proxy( 
  4160.     IMemInputPin * This,
  4161.     /* [out] */ ALLOCATOR_PROPERTIES *pProps);
  4162.  
  4163.  
  4164. void __RPC_STUB IMemInputPin_GetAllocatorRequirements_Stub(
  4165.     IRpcStubBuffer *This,
  4166.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4167.     PRPC_MESSAGE _pRpcMessage,
  4168.     DWORD *_pdwStubPhase);
  4169.  
  4170.  
  4171. HRESULT STDMETHODCALLTYPE IMemInputPin_Receive_Proxy( 
  4172.     IMemInputPin * This,
  4173.     /* [in] */ IMediaSample *pSample);
  4174.  
  4175.  
  4176. void __RPC_STUB IMemInputPin_Receive_Stub(
  4177.     IRpcStubBuffer *This,
  4178.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4179.     PRPC_MESSAGE _pRpcMessage,
  4180.     DWORD *_pdwStubPhase);
  4181.  
  4182.  
  4183. HRESULT STDMETHODCALLTYPE IMemInputPin_ReceiveMultiple_Proxy( 
  4184.     IMemInputPin * This,
  4185.     /* [size_is][in] */ IMediaSample **pSamples,
  4186.     /* [in] */ long nSamples,
  4187.     /* [out] */ long *nSamplesProcessed);
  4188.  
  4189.  
  4190. void __RPC_STUB IMemInputPin_ReceiveMultiple_Stub(
  4191.     IRpcStubBuffer *This,
  4192.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4193.     PRPC_MESSAGE _pRpcMessage,
  4194.     DWORD *_pdwStubPhase);
  4195.  
  4196.  
  4197. HRESULT STDMETHODCALLTYPE IMemInputPin_ReceiveCanBlock_Proxy( 
  4198.     IMemInputPin * This);
  4199.  
  4200.  
  4201. void __RPC_STUB IMemInputPin_ReceiveCanBlock_Stub(
  4202.     IRpcStubBuffer *This,
  4203.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4204.     PRPC_MESSAGE _pRpcMessage,
  4205.     DWORD *_pdwStubPhase);
  4206.  
  4207.  
  4208.  
  4209. #endif     /* __IMemInputPin_INTERFACE_DEFINED__ */
  4210.  
  4211.  
  4212. /* interface __MIDL_itf_strmif_0123 */
  4213. /* [local] */ 
  4214.  
  4215. typedef IMemInputPin *PMEMINPUTPIN;
  4216.  
  4217.  
  4218.  
  4219. extern RPC_IF_HANDLE __MIDL_itf_strmif_0123_v0_0_c_ifspec;
  4220. extern RPC_IF_HANDLE __MIDL_itf_strmif_0123_v0_0_s_ifspec;
  4221.  
  4222. #ifndef __IAMovieSetup_INTERFACE_DEFINED__
  4223. #define __IAMovieSetup_INTERFACE_DEFINED__
  4224.  
  4225. /* interface IAMovieSetup */
  4226. /* [unique][uuid][object] */ 
  4227.  
  4228.  
  4229. EXTERN_C const IID IID_IAMovieSetup;
  4230.  
  4231. #if defined(__cplusplus) && !defined(CINTERFACE)
  4232.     
  4233.     MIDL_INTERFACE("a3d8cec0-7e5a-11cf-bbc5-00805f6cef20")
  4234.     IAMovieSetup : public IUnknown
  4235.     {
  4236.     public:
  4237.         virtual HRESULT STDMETHODCALLTYPE Register( void) = 0;
  4238.         
  4239.         virtual HRESULT STDMETHODCALLTYPE Unregister( void) = 0;
  4240.         
  4241.     };
  4242.     
  4243. #else     /* C style interface */
  4244.  
  4245.     typedef struct IAMovieSetupVtbl
  4246.     {
  4247.         BEGIN_INTERFACE
  4248.         
  4249.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  4250.             IAMovieSetup * This,
  4251.             /* [in] */ REFIID riid,
  4252.             /* [iid_is][out] */ void **ppvObject);
  4253.         
  4254.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  4255.             IAMovieSetup * This);
  4256.         
  4257.         ULONG ( STDMETHODCALLTYPE *Release )( 
  4258.             IAMovieSetup * This);
  4259.         
  4260.         HRESULT ( STDMETHODCALLTYPE *Register )( 
  4261.             IAMovieSetup * This);
  4262.         
  4263.         HRESULT ( STDMETHODCALLTYPE *Unregister )( 
  4264.             IAMovieSetup * This);
  4265.         
  4266.         END_INTERFACE
  4267.     } IAMovieSetupVtbl;
  4268.  
  4269.     interface IAMovieSetup
  4270.     {
  4271.         CONST_VTBL struct IAMovieSetupVtbl *lpVtbl;
  4272.     };
  4273.  
  4274.     
  4275.  
  4276. #ifdef COBJMACROS
  4277.  
  4278.  
  4279. #define IAMovieSetup_QueryInterface(This,riid,ppvObject)    \
  4280.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  4281.  
  4282. #define IAMovieSetup_AddRef(This)    \
  4283.     (This)->lpVtbl -> AddRef(This)
  4284.  
  4285. #define IAMovieSetup_Release(This)    \
  4286.     (This)->lpVtbl -> Release(This)
  4287.  
  4288.  
  4289. #define IAMovieSetup_Register(This)    \
  4290.     (This)->lpVtbl -> Register(This)
  4291.  
  4292. #define IAMovieSetup_Unregister(This)    \
  4293.     (This)->lpVtbl -> Unregister(This)
  4294.  
  4295. #endif /* COBJMACROS */
  4296.  
  4297.  
  4298. #endif     /* C style interface */
  4299.  
  4300.  
  4301.  
  4302. HRESULT STDMETHODCALLTYPE IAMovieSetup_Register_Proxy( 
  4303.     IAMovieSetup * This);
  4304.  
  4305.  
  4306. void __RPC_STUB IAMovieSetup_Register_Stub(
  4307.     IRpcStubBuffer *This,
  4308.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4309.     PRPC_MESSAGE _pRpcMessage,
  4310.     DWORD *_pdwStubPhase);
  4311.  
  4312.  
  4313. HRESULT STDMETHODCALLTYPE IAMovieSetup_Unregister_Proxy( 
  4314.     IAMovieSetup * This);
  4315.  
  4316.  
  4317. void __RPC_STUB IAMovieSetup_Unregister_Stub(
  4318.     IRpcStubBuffer *This,
  4319.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4320.     PRPC_MESSAGE _pRpcMessage,
  4321.     DWORD *_pdwStubPhase);
  4322.  
  4323.  
  4324.  
  4325. #endif     /* __IAMovieSetup_INTERFACE_DEFINED__ */
  4326.  
  4327.  
  4328. /* interface __MIDL_itf_strmif_0124 */
  4329. /* [local] */ 
  4330.  
  4331. typedef IAMovieSetup *PAMOVIESETUP;
  4332.  
  4333. typedef 
  4334. enum AM_SEEKING_SeekingFlags
  4335.     {    AM_SEEKING_NoPositioning    = 0,
  4336.     AM_SEEKING_AbsolutePositioning    = 0x1,
  4337.     AM_SEEKING_RelativePositioning    = 0x2,
  4338.     AM_SEEKING_IncrementalPositioning    = 0x3,
  4339.     AM_SEEKING_PositioningBitsMask    = 0x3,
  4340.     AM_SEEKING_SeekToKeyFrame    = 0x4,
  4341.     AM_SEEKING_ReturnTime    = 0x8,
  4342.     AM_SEEKING_Segment    = 0x10,
  4343.     AM_SEEKING_NoFlush    = 0x20
  4344.     }     AM_SEEKING_SEEKING_FLAGS;
  4345.  
  4346. typedef 
  4347. enum AM_SEEKING_SeekingCapabilities
  4348.     {    AM_SEEKING_CanSeekAbsolute    = 0x1,
  4349.     AM_SEEKING_CanSeekForwards    = 0x2,
  4350.     AM_SEEKING_CanSeekBackwards    = 0x4,
  4351.     AM_SEEKING_CanGetCurrentPos    = 0x8,
  4352.     AM_SEEKING_CanGetStopPos    = 0x10,
  4353.     AM_SEEKING_CanGetDuration    = 0x20,
  4354.     AM_SEEKING_CanPlayBackwards    = 0x40,
  4355.     AM_SEEKING_CanDoSegments    = 0x80,
  4356.     AM_SEEKING_Source    = 0x100
  4357.     }     AM_SEEKING_SEEKING_CAPABILITIES;
  4358.  
  4359.  
  4360.  
  4361. extern RPC_IF_HANDLE __MIDL_itf_strmif_0124_v0_0_c_ifspec;
  4362. extern RPC_IF_HANDLE __MIDL_itf_strmif_0124_v0_0_s_ifspec;
  4363.  
  4364. #ifndef __IMediaSeeking_INTERFACE_DEFINED__
  4365. #define __IMediaSeeking_INTERFACE_DEFINED__
  4366.  
  4367. /* interface IMediaSeeking */
  4368. /* [unique][uuid][object] */ 
  4369.  
  4370.  
  4371. EXTERN_C const IID IID_IMediaSeeking;
  4372.  
  4373. #if defined(__cplusplus) && !defined(CINTERFACE)
  4374.     
  4375.     MIDL_INTERFACE("36b73880-c2c8-11cf-8b46-00805f6cef60")
  4376.     IMediaSeeking : public IUnknown
  4377.     {
  4378.     public:
  4379.         virtual HRESULT STDMETHODCALLTYPE GetCapabilities( 
  4380.             /* [out] */ DWORD *pCapabilities) = 0;
  4381.         
  4382.         virtual HRESULT STDMETHODCALLTYPE CheckCapabilities( 
  4383.             /* [out][in] */ DWORD *pCapabilities) = 0;
  4384.         
  4385.         virtual HRESULT STDMETHODCALLTYPE IsFormatSupported( 
  4386.             /* [in] */ const GUID *pFormat) = 0;
  4387.         
  4388.         virtual HRESULT STDMETHODCALLTYPE QueryPreferredFormat( 
  4389.             /* [out] */ GUID *pFormat) = 0;
  4390.         
  4391.         virtual HRESULT STDMETHODCALLTYPE GetTimeFormat( 
  4392.             /* [out] */ GUID *pFormat) = 0;
  4393.         
  4394.         virtual HRESULT STDMETHODCALLTYPE IsUsingTimeFormat( 
  4395.             /* [in] */ const GUID *pFormat) = 0;
  4396.         
  4397.         virtual HRESULT STDMETHODCALLTYPE SetTimeFormat( 
  4398.             /* [in] */ const GUID *pFormat) = 0;
  4399.         
  4400.         virtual HRESULT STDMETHODCALLTYPE GetDuration( 
  4401.             /* [out] */ LONGLONG *pDuration) = 0;
  4402.         
  4403.         virtual HRESULT STDMETHODCALLTYPE GetStopPosition( 
  4404.             /* [out] */ LONGLONG *pStop) = 0;
  4405.         
  4406.         virtual HRESULT STDMETHODCALLTYPE GetCurrentPosition( 
  4407.             /* [out] */ LONGLONG *pCurrent) = 0;
  4408.         
  4409.         virtual HRESULT STDMETHODCALLTYPE ConvertTimeFormat( 
  4410.             /* [out] */ LONGLONG *pTarget,
  4411.             /* [in] */ const GUID *pTargetFormat,
  4412.             /* [in] */ LONGLONG Source,
  4413.             /* [in] */ const GUID *pSourceFormat) = 0;
  4414.         
  4415.         virtual HRESULT STDMETHODCALLTYPE SetPositions( 
  4416.             /* [out][in] */ LONGLONG *pCurrent,
  4417.             /* [in] */ DWORD dwCurrentFlags,
  4418.             /* [out][in] */ LONGLONG *pStop,
  4419.             /* [in] */ DWORD dwStopFlags) = 0;
  4420.         
  4421.         virtual HRESULT STDMETHODCALLTYPE GetPositions( 
  4422.             /* [out] */ LONGLONG *pCurrent,
  4423.             /* [out] */ LONGLONG *pStop) = 0;
  4424.         
  4425.         virtual HRESULT STDMETHODCALLTYPE GetAvailable( 
  4426.             /* [out] */ LONGLONG *pEarliest,
  4427.             /* [out] */ LONGLONG *pLatest) = 0;
  4428.         
  4429.         virtual HRESULT STDMETHODCALLTYPE SetRate( 
  4430.             /* [in] */ double dRate) = 0;
  4431.         
  4432.         virtual HRESULT STDMETHODCALLTYPE GetRate( 
  4433.             /* [out] */ double *pdRate) = 0;
  4434.         
  4435.         virtual HRESULT STDMETHODCALLTYPE GetPreroll( 
  4436.             /* [out] */ LONGLONG *pllPreroll) = 0;
  4437.         
  4438.     };
  4439.     
  4440. #else     /* C style interface */
  4441.  
  4442.     typedef struct IMediaSeekingVtbl
  4443.     {
  4444.         BEGIN_INTERFACE
  4445.         
  4446.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  4447.             IMediaSeeking * This,
  4448.             /* [in] */ REFIID riid,
  4449.             /* [iid_is][out] */ void **ppvObject);
  4450.         
  4451.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  4452.             IMediaSeeking * This);
  4453.         
  4454.         ULONG ( STDMETHODCALLTYPE *Release )( 
  4455.             IMediaSeeking * This);
  4456.         
  4457.         HRESULT ( STDMETHODCALLTYPE *GetCapabilities )( 
  4458.             IMediaSeeking * This,
  4459.             /* [out] */ DWORD *pCapabilities);
  4460.         
  4461.         HRESULT ( STDMETHODCALLTYPE *CheckCapabilities )( 
  4462.             IMediaSeeking * This,
  4463.             /* [out][in] */ DWORD *pCapabilities);
  4464.         
  4465.         HRESULT ( STDMETHODCALLTYPE *IsFormatSupported )( 
  4466.             IMediaSeeking * This,
  4467.             /* [in] */ const GUID *pFormat);
  4468.         
  4469.         HRESULT ( STDMETHODCALLTYPE *QueryPreferredFormat )( 
  4470.             IMediaSeeking * This,
  4471.             /* [out] */ GUID *pFormat);
  4472.         
  4473.         HRESULT ( STDMETHODCALLTYPE *GetTimeFormat )( 
  4474.             IMediaSeeking * This,
  4475.             /* [out] */ GUID *pFormat);
  4476.         
  4477.         HRESULT ( STDMETHODCALLTYPE *IsUsingTimeFormat )( 
  4478.             IMediaSeeking * This,
  4479.             /* [in] */ const GUID *pFormat);
  4480.         
  4481.         HRESULT ( STDMETHODCALLTYPE *SetTimeFormat )( 
  4482.             IMediaSeeking * This,
  4483.             /* [in] */ const GUID *pFormat);
  4484.         
  4485.         HRESULT ( STDMETHODCALLTYPE *GetDuration )( 
  4486.             IMediaSeeking * This,
  4487.             /* [out] */ LONGLONG *pDuration);
  4488.         
  4489.         HRESULT ( STDMETHODCALLTYPE *GetStopPosition )( 
  4490.             IMediaSeeking * This,
  4491.             /* [out] */ LONGLONG *pStop);
  4492.         
  4493.         HRESULT ( STDMETHODCALLTYPE *GetCurrentPosition )( 
  4494.             IMediaSeeking * This,
  4495.             /* [out] */ LONGLONG *pCurrent);
  4496.         
  4497.         HRESULT ( STDMETHODCALLTYPE *ConvertTimeFormat )( 
  4498.             IMediaSeeking * This,
  4499.             /* [out] */ LONGLONG *pTarget,
  4500.             /* [in] */ const GUID *pTargetFormat,
  4501.             /* [in] */ LONGLONG Source,
  4502.             /* [in] */ const GUID *pSourceFormat);
  4503.         
  4504.         HRESULT ( STDMETHODCALLTYPE *SetPositions )( 
  4505.             IMediaSeeking * This,
  4506.             /* [out][in] */ LONGLONG *pCurrent,
  4507.             /* [in] */ DWORD dwCurrentFlags,
  4508.             /* [out][in] */ LONGLONG *pStop,
  4509.             /* [in] */ DWORD dwStopFlags);
  4510.         
  4511.         HRESULT ( STDMETHODCALLTYPE *GetPositions )( 
  4512.             IMediaSeeking * This,
  4513.             /* [out] */ LONGLONG *pCurrent,
  4514.             /* [out] */ LONGLONG *pStop);
  4515.         
  4516.         HRESULT ( STDMETHODCALLTYPE *GetAvailable )( 
  4517.             IMediaSeeking * This,
  4518.             /* [out] */ LONGLONG *pEarliest,
  4519.             /* [out] */ LONGLONG *pLatest);
  4520.         
  4521.         HRESULT ( STDMETHODCALLTYPE *SetRate )( 
  4522.             IMediaSeeking * This,
  4523.             /* [in] */ double dRate);
  4524.         
  4525.         HRESULT ( STDMETHODCALLTYPE *GetRate )( 
  4526.             IMediaSeeking * This,
  4527.             /* [out] */ double *pdRate);
  4528.         
  4529.         HRESULT ( STDMETHODCALLTYPE *GetPreroll )( 
  4530.             IMediaSeeking * This,
  4531.             /* [out] */ LONGLONG *pllPreroll);
  4532.         
  4533.         END_INTERFACE
  4534.     } IMediaSeekingVtbl;
  4535.  
  4536.     interface IMediaSeeking
  4537.     {
  4538.         CONST_VTBL struct IMediaSeekingVtbl *lpVtbl;
  4539.     };
  4540.  
  4541.     
  4542.  
  4543. #ifdef COBJMACROS
  4544.  
  4545.  
  4546. #define IMediaSeeking_QueryInterface(This,riid,ppvObject)    \
  4547.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  4548.  
  4549. #define IMediaSeeking_AddRef(This)    \
  4550.     (This)->lpVtbl -> AddRef(This)
  4551.  
  4552. #define IMediaSeeking_Release(This)    \
  4553.     (This)->lpVtbl -> Release(This)
  4554.  
  4555.  
  4556. #define IMediaSeeking_GetCapabilities(This,pCapabilities)    \
  4557.     (This)->lpVtbl -> GetCapabilities(This,pCapabilities)
  4558.  
  4559. #define IMediaSeeking_CheckCapabilities(This,pCapabilities)    \
  4560.     (This)->lpVtbl -> CheckCapabilities(This,pCapabilities)
  4561.  
  4562. #define IMediaSeeking_IsFormatSupported(This,pFormat)    \
  4563.     (This)->lpVtbl -> IsFormatSupported(This,pFormat)
  4564.  
  4565. #define IMediaSeeking_QueryPreferredFormat(This,pFormat)    \
  4566.     (This)->lpVtbl -> QueryPreferredFormat(This,pFormat)
  4567.  
  4568. #define IMediaSeeking_GetTimeFormat(This,pFormat)    \
  4569.     (This)->lpVtbl -> GetTimeFormat(This,pFormat)
  4570.  
  4571. #define IMediaSeeking_IsUsingTimeFormat(This,pFormat)    \
  4572.     (This)->lpVtbl -> IsUsingTimeFormat(This,pFormat)
  4573.  
  4574. #define IMediaSeeking_SetTimeFormat(This,pFormat)    \
  4575.     (This)->lpVtbl -> SetTimeFormat(This,pFormat)
  4576.  
  4577. #define IMediaSeeking_GetDuration(This,pDuration)    \
  4578.     (This)->lpVtbl -> GetDuration(This,pDuration)
  4579.  
  4580. #define IMediaSeeking_GetStopPosition(This,pStop)    \
  4581.     (This)->lpVtbl -> GetStopPosition(This,pStop)
  4582.  
  4583. #define IMediaSeeking_GetCurrentPosition(This,pCurrent)    \
  4584.     (This)->lpVtbl -> GetCurrentPosition(This,pCurrent)
  4585.  
  4586. #define IMediaSeeking_ConvertTimeFormat(This,pTarget,pTargetFormat,Source,pSourceFormat)    \
  4587.     (This)->lpVtbl -> ConvertTimeFormat(This,pTarget,pTargetFormat,Source,pSourceFormat)
  4588.  
  4589. #define IMediaSeeking_SetPositions(This,pCurrent,dwCurrentFlags,pStop,dwStopFlags)    \
  4590.     (This)->lpVtbl -> SetPositions(This,pCurrent,dwCurrentFlags,pStop,dwStopFlags)
  4591.  
  4592. #define IMediaSeeking_GetPositions(This,pCurrent,pStop)    \
  4593.     (This)->lpVtbl -> GetPositions(This,pCurrent,pStop)
  4594.  
  4595. #define IMediaSeeking_GetAvailable(This,pEarliest,pLatest)    \
  4596.     (This)->lpVtbl -> GetAvailable(This,pEarliest,pLatest)
  4597.  
  4598. #define IMediaSeeking_SetRate(This,dRate)    \
  4599.     (This)->lpVtbl -> SetRate(This,dRate)
  4600.  
  4601. #define IMediaSeeking_GetRate(This,pdRate)    \
  4602.     (This)->lpVtbl -> GetRate(This,pdRate)
  4603.  
  4604. #define IMediaSeeking_GetPreroll(This,pllPreroll)    \
  4605.     (This)->lpVtbl -> GetPreroll(This,pllPreroll)
  4606.  
  4607. #endif /* COBJMACROS */
  4608.  
  4609.  
  4610. #endif     /* C style interface */
  4611.  
  4612.  
  4613.  
  4614. HRESULT STDMETHODCALLTYPE IMediaSeeking_GetCapabilities_Proxy( 
  4615.     IMediaSeeking * This,
  4616.     /* [out] */ DWORD *pCapabilities);
  4617.  
  4618.  
  4619. void __RPC_STUB IMediaSeeking_GetCapabilities_Stub(
  4620.     IRpcStubBuffer *This,
  4621.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4622.     PRPC_MESSAGE _pRpcMessage,
  4623.     DWORD *_pdwStubPhase);
  4624.  
  4625.  
  4626. HRESULT STDMETHODCALLTYPE IMediaSeeking_CheckCapabilities_Proxy( 
  4627.     IMediaSeeking * This,
  4628.     /* [out][in] */ DWORD *pCapabilities);
  4629.  
  4630.  
  4631. void __RPC_STUB IMediaSeeking_CheckCapabilities_Stub(
  4632.     IRpcStubBuffer *This,
  4633.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4634.     PRPC_MESSAGE _pRpcMessage,
  4635.     DWORD *_pdwStubPhase);
  4636.  
  4637.  
  4638. HRESULT STDMETHODCALLTYPE IMediaSeeking_IsFormatSupported_Proxy( 
  4639.     IMediaSeeking * This,
  4640.     /* [in] */ const GUID *pFormat);
  4641.  
  4642.  
  4643. void __RPC_STUB IMediaSeeking_IsFormatSupported_Stub(
  4644.     IRpcStubBuffer *This,
  4645.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4646.     PRPC_MESSAGE _pRpcMessage,
  4647.     DWORD *_pdwStubPhase);
  4648.  
  4649.  
  4650. HRESULT STDMETHODCALLTYPE IMediaSeeking_QueryPreferredFormat_Proxy( 
  4651.     IMediaSeeking * This,
  4652.     /* [out] */ GUID *pFormat);
  4653.  
  4654.  
  4655. void __RPC_STUB IMediaSeeking_QueryPreferredFormat_Stub(
  4656.     IRpcStubBuffer *This,
  4657.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4658.     PRPC_MESSAGE _pRpcMessage,
  4659.     DWORD *_pdwStubPhase);
  4660.  
  4661.  
  4662. HRESULT STDMETHODCALLTYPE IMediaSeeking_GetTimeFormat_Proxy( 
  4663.     IMediaSeeking * This,
  4664.     /* [out] */ GUID *pFormat);
  4665.  
  4666.  
  4667. void __RPC_STUB IMediaSeeking_GetTimeFormat_Stub(
  4668.     IRpcStubBuffer *This,
  4669.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4670.     PRPC_MESSAGE _pRpcMessage,
  4671.     DWORD *_pdwStubPhase);
  4672.  
  4673.  
  4674. HRESULT STDMETHODCALLTYPE IMediaSeeking_IsUsingTimeFormat_Proxy( 
  4675.     IMediaSeeking * This,
  4676.     /* [in] */ const GUID *pFormat);
  4677.  
  4678.  
  4679. void __RPC_STUB IMediaSeeking_IsUsingTimeFormat_Stub(
  4680.     IRpcStubBuffer *This,
  4681.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4682.     PRPC_MESSAGE _pRpcMessage,
  4683.     DWORD *_pdwStubPhase);
  4684.  
  4685.  
  4686. HRESULT STDMETHODCALLTYPE IMediaSeeking_SetTimeFormat_Proxy( 
  4687.     IMediaSeeking * This,
  4688.     /* [in] */ const GUID *pFormat);
  4689.  
  4690.  
  4691. void __RPC_STUB IMediaSeeking_SetTimeFormat_Stub(
  4692.     IRpcStubBuffer *This,
  4693.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4694.     PRPC_MESSAGE _pRpcMessage,
  4695.     DWORD *_pdwStubPhase);
  4696.  
  4697.  
  4698. HRESULT STDMETHODCALLTYPE IMediaSeeking_GetDuration_Proxy( 
  4699.     IMediaSeeking * This,
  4700.     /* [out] */ LONGLONG *pDuration);
  4701.  
  4702.  
  4703. void __RPC_STUB IMediaSeeking_GetDuration_Stub(
  4704.     IRpcStubBuffer *This,
  4705.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4706.     PRPC_MESSAGE _pRpcMessage,
  4707.     DWORD *_pdwStubPhase);
  4708.  
  4709.  
  4710. HRESULT STDMETHODCALLTYPE IMediaSeeking_GetStopPosition_Proxy( 
  4711.     IMediaSeeking * This,
  4712.     /* [out] */ LONGLONG *pStop);
  4713.  
  4714.  
  4715. void __RPC_STUB IMediaSeeking_GetStopPosition_Stub(
  4716.     IRpcStubBuffer *This,
  4717.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4718.     PRPC_MESSAGE _pRpcMessage,
  4719.     DWORD *_pdwStubPhase);
  4720.  
  4721.  
  4722. HRESULT STDMETHODCALLTYPE IMediaSeeking_GetCurrentPosition_Proxy( 
  4723.     IMediaSeeking * This,
  4724.     /* [out] */ LONGLONG *pCurrent);
  4725.  
  4726.  
  4727. void __RPC_STUB IMediaSeeking_GetCurrentPosition_Stub(
  4728.     IRpcStubBuffer *This,
  4729.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4730.     PRPC_MESSAGE _pRpcMessage,
  4731.     DWORD *_pdwStubPhase);
  4732.  
  4733.  
  4734. HRESULT STDMETHODCALLTYPE IMediaSeeking_ConvertTimeFormat_Proxy( 
  4735.     IMediaSeeking * This,
  4736.     /* [out] */ LONGLONG *pTarget,
  4737.     /* [in] */ const GUID *pTargetFormat,
  4738.     /* [in] */ LONGLONG Source,
  4739.     /* [in] */ const GUID *pSourceFormat);
  4740.  
  4741.  
  4742. void __RPC_STUB IMediaSeeking_ConvertTimeFormat_Stub(
  4743.     IRpcStubBuffer *This,
  4744.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4745.     PRPC_MESSAGE _pRpcMessage,
  4746.     DWORD *_pdwStubPhase);
  4747.  
  4748.  
  4749. HRESULT STDMETHODCALLTYPE IMediaSeeking_SetPositions_Proxy( 
  4750.     IMediaSeeking * This,
  4751.     /* [out][in] */ LONGLONG *pCurrent,
  4752.     /* [in] */ DWORD dwCurrentFlags,
  4753.     /* [out][in] */ LONGLONG *pStop,
  4754.     /* [in] */ DWORD dwStopFlags);
  4755.  
  4756.  
  4757. void __RPC_STUB IMediaSeeking_SetPositions_Stub(
  4758.     IRpcStubBuffer *This,
  4759.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4760.     PRPC_MESSAGE _pRpcMessage,
  4761.     DWORD *_pdwStubPhase);
  4762.  
  4763.  
  4764. HRESULT STDMETHODCALLTYPE IMediaSeeking_GetPositions_Proxy( 
  4765.     IMediaSeeking * This,
  4766.     /* [out] */ LONGLONG *pCurrent,
  4767.     /* [out] */ LONGLONG *pStop);
  4768.  
  4769.  
  4770. void __RPC_STUB IMediaSeeking_GetPositions_Stub(
  4771.     IRpcStubBuffer *This,
  4772.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4773.     PRPC_MESSAGE _pRpcMessage,
  4774.     DWORD *_pdwStubPhase);
  4775.  
  4776.  
  4777. HRESULT STDMETHODCALLTYPE IMediaSeeking_GetAvailable_Proxy( 
  4778.     IMediaSeeking * This,
  4779.     /* [out] */ LONGLONG *pEarliest,
  4780.     /* [out] */ LONGLONG *pLatest);
  4781.  
  4782.  
  4783. void __RPC_STUB IMediaSeeking_GetAvailable_Stub(
  4784.     IRpcStubBuffer *This,
  4785.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4786.     PRPC_MESSAGE _pRpcMessage,
  4787.     DWORD *_pdwStubPhase);
  4788.  
  4789.  
  4790. HRESULT STDMETHODCALLTYPE IMediaSeeking_SetRate_Proxy( 
  4791.     IMediaSeeking * This,
  4792.     /* [in] */ double dRate);
  4793.  
  4794.  
  4795. void __RPC_STUB IMediaSeeking_SetRate_Stub(
  4796.     IRpcStubBuffer *This,
  4797.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4798.     PRPC_MESSAGE _pRpcMessage,
  4799.     DWORD *_pdwStubPhase);
  4800.  
  4801.  
  4802. HRESULT STDMETHODCALLTYPE IMediaSeeking_GetRate_Proxy( 
  4803.     IMediaSeeking * This,
  4804.     /* [out] */ double *pdRate);
  4805.  
  4806.  
  4807. void __RPC_STUB IMediaSeeking_GetRate_Stub(
  4808.     IRpcStubBuffer *This,
  4809.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4810.     PRPC_MESSAGE _pRpcMessage,
  4811.     DWORD *_pdwStubPhase);
  4812.  
  4813.  
  4814. HRESULT STDMETHODCALLTYPE IMediaSeeking_GetPreroll_Proxy( 
  4815.     IMediaSeeking * This,
  4816.     /* [out] */ LONGLONG *pllPreroll);
  4817.  
  4818.  
  4819. void __RPC_STUB IMediaSeeking_GetPreroll_Stub(
  4820.     IRpcStubBuffer *This,
  4821.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4822.     PRPC_MESSAGE _pRpcMessage,
  4823.     DWORD *_pdwStubPhase);
  4824.  
  4825.  
  4826.  
  4827. #endif     /* __IMediaSeeking_INTERFACE_DEFINED__ */
  4828.  
  4829.  
  4830. /* interface __MIDL_itf_strmif_0125 */
  4831. /* [local] */ 
  4832.  
  4833. typedef IMediaSeeking *PMEDIASEEKING;
  4834.  
  4835. enum tagAM_MEDIAEVENT_FLAGS
  4836. {
  4837.     AM_MEDIAEVENT_NONOTIFY = 0x01
  4838. };
  4839.  
  4840.  
  4841.  
  4842.  
  4843.  
  4844.  
  4845.  
  4846.  
  4847.  
  4848.  
  4849.  
  4850.  
  4851.  
  4852.  
  4853.  
  4854.  
  4855.  
  4856.  
  4857.  
  4858.  
  4859.  
  4860.  
  4861.  
  4862.  
  4863.  
  4864.  
  4865.  
  4866.  
  4867.  
  4868.  
  4869.  
  4870.  
  4871.  
  4872.  
  4873.  
  4874.  
  4875.  
  4876.  
  4877.  
  4878.  
  4879.  
  4880.  
  4881.  
  4882.  
  4883.  
  4884.  
  4885.  
  4886.  
  4887.  
  4888.  
  4889.  
  4890.  
  4891. typedef /* [public][public] */ struct __MIDL___MIDL_itf_strmif_0125_0001
  4892.     {
  4893.     CLSID Clsid;
  4894.     LPWSTR Name;
  4895.     }     REGFILTER;
  4896.  
  4897.  
  4898.  
  4899. extern RPC_IF_HANDLE __MIDL_itf_strmif_0125_v0_0_c_ifspec;
  4900. extern RPC_IF_HANDLE __MIDL_itf_strmif_0125_v0_0_s_ifspec;
  4901.  
  4902. #ifndef __IEnumRegFilters_INTERFACE_DEFINED__
  4903. #define __IEnumRegFilters_INTERFACE_DEFINED__
  4904.  
  4905. /* interface IEnumRegFilters */
  4906. /* [unique][uuid][object] */ 
  4907.  
  4908.  
  4909. EXTERN_C const IID IID_IEnumRegFilters;
  4910.  
  4911. #if defined(__cplusplus) && !defined(CINTERFACE)
  4912.     
  4913.     MIDL_INTERFACE("56a868a4-0ad4-11ce-b03a-0020af0ba770")
  4914.     IEnumRegFilters : public IUnknown
  4915.     {
  4916.     public:
  4917.         virtual HRESULT STDMETHODCALLTYPE Next( 
  4918.             /* [in] */ ULONG cFilters,
  4919.             /* [out] */ REGFILTER **apRegFilter,
  4920.             /* [out] */ ULONG *pcFetched) = 0;
  4921.         
  4922.         virtual HRESULT STDMETHODCALLTYPE Skip( 
  4923.             /* [in] */ ULONG cFilters) = 0;
  4924.         
  4925.         virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;
  4926.         
  4927.         virtual HRESULT STDMETHODCALLTYPE Clone( 
  4928.             /* [out] */ IEnumRegFilters **ppEnum) = 0;
  4929.         
  4930.     };
  4931.     
  4932. #else     /* C style interface */
  4933.  
  4934.     typedef struct IEnumRegFiltersVtbl
  4935.     {
  4936.         BEGIN_INTERFACE
  4937.         
  4938.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  4939.             IEnumRegFilters * This,
  4940.             /* [in] */ REFIID riid,
  4941.             /* [iid_is][out] */ void **ppvObject);
  4942.         
  4943.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  4944.             IEnumRegFilters * This);
  4945.         
  4946.         ULONG ( STDMETHODCALLTYPE *Release )( 
  4947.             IEnumRegFilters * This);
  4948.         
  4949.         HRESULT ( STDMETHODCALLTYPE *Next )( 
  4950.             IEnumRegFilters * This,
  4951.             /* [in] */ ULONG cFilters,
  4952.             /* [out] */ REGFILTER **apRegFilter,
  4953.             /* [out] */ ULONG *pcFetched);
  4954.         
  4955.         HRESULT ( STDMETHODCALLTYPE *Skip )( 
  4956.             IEnumRegFilters * This,
  4957.             /* [in] */ ULONG cFilters);
  4958.         
  4959.         HRESULT ( STDMETHODCALLTYPE *Reset )( 
  4960.             IEnumRegFilters * This);
  4961.         
  4962.         HRESULT ( STDMETHODCALLTYPE *Clone )( 
  4963.             IEnumRegFilters * This,
  4964.             /* [out] */ IEnumRegFilters **ppEnum);
  4965.         
  4966.         END_INTERFACE
  4967.     } IEnumRegFiltersVtbl;
  4968.  
  4969.     interface IEnumRegFilters
  4970.     {
  4971.         CONST_VTBL struct IEnumRegFiltersVtbl *lpVtbl;
  4972.     };
  4973.  
  4974.     
  4975.  
  4976. #ifdef COBJMACROS
  4977.  
  4978.  
  4979. #define IEnumRegFilters_QueryInterface(This,riid,ppvObject)    \
  4980.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  4981.  
  4982. #define IEnumRegFilters_AddRef(This)    \
  4983.     (This)->lpVtbl -> AddRef(This)
  4984.  
  4985. #define IEnumRegFilters_Release(This)    \
  4986.     (This)->lpVtbl -> Release(This)
  4987.  
  4988.  
  4989. #define IEnumRegFilters_Next(This,cFilters,apRegFilter,pcFetched)    \
  4990.     (This)->lpVtbl -> Next(This,cFilters,apRegFilter,pcFetched)
  4991.  
  4992. #define IEnumRegFilters_Skip(This,cFilters)    \
  4993.     (This)->lpVtbl -> Skip(This,cFilters)
  4994.  
  4995. #define IEnumRegFilters_Reset(This)    \
  4996.     (This)->lpVtbl -> Reset(This)
  4997.  
  4998. #define IEnumRegFilters_Clone(This,ppEnum)    \
  4999.     (This)->lpVtbl -> Clone(This,ppEnum)
  5000.  
  5001. #endif /* COBJMACROS */
  5002.  
  5003.  
  5004. #endif     /* C style interface */
  5005.  
  5006.  
  5007.  
  5008. HRESULT STDMETHODCALLTYPE IEnumRegFilters_Next_Proxy( 
  5009.     IEnumRegFilters * This,
  5010.     /* [in] */ ULONG cFilters,
  5011.     /* [out] */ REGFILTER **apRegFilter,
  5012.     /* [out] */ ULONG *pcFetched);
  5013.  
  5014.  
  5015. void __RPC_STUB IEnumRegFilters_Next_Stub(
  5016.     IRpcStubBuffer *This,
  5017.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5018.     PRPC_MESSAGE _pRpcMessage,
  5019.     DWORD *_pdwStubPhase);
  5020.  
  5021.  
  5022. HRESULT STDMETHODCALLTYPE IEnumRegFilters_Skip_Proxy( 
  5023.     IEnumRegFilters * This,
  5024.     /* [in] */ ULONG cFilters);
  5025.  
  5026.  
  5027. void __RPC_STUB IEnumRegFilters_Skip_Stub(
  5028.     IRpcStubBuffer *This,
  5029.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5030.     PRPC_MESSAGE _pRpcMessage,
  5031.     DWORD *_pdwStubPhase);
  5032.  
  5033.  
  5034. HRESULT STDMETHODCALLTYPE IEnumRegFilters_Reset_Proxy( 
  5035.     IEnumRegFilters * This);
  5036.  
  5037.  
  5038. void __RPC_STUB IEnumRegFilters_Reset_Stub(
  5039.     IRpcStubBuffer *This,
  5040.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5041.     PRPC_MESSAGE _pRpcMessage,
  5042.     DWORD *_pdwStubPhase);
  5043.  
  5044.  
  5045. HRESULT STDMETHODCALLTYPE IEnumRegFilters_Clone_Proxy( 
  5046.     IEnumRegFilters * This,
  5047.     /* [out] */ IEnumRegFilters **ppEnum);
  5048.  
  5049.  
  5050. void __RPC_STUB IEnumRegFilters_Clone_Stub(
  5051.     IRpcStubBuffer *This,
  5052.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5053.     PRPC_MESSAGE _pRpcMessage,
  5054.     DWORD *_pdwStubPhase);
  5055.  
  5056.  
  5057.  
  5058. #endif     /* __IEnumRegFilters_INTERFACE_DEFINED__ */
  5059.  
  5060.  
  5061. /* interface __MIDL_itf_strmif_0127 */
  5062. /* [local] */ 
  5063.  
  5064. typedef IEnumRegFilters *PENUMREGFILTERS;
  5065.  
  5066.  
  5067.  
  5068. extern RPC_IF_HANDLE __MIDL_itf_strmif_0127_v0_0_c_ifspec;
  5069. extern RPC_IF_HANDLE __MIDL_itf_strmif_0127_v0_0_s_ifspec;
  5070.  
  5071. #ifndef __IFilterMapper_INTERFACE_DEFINED__
  5072. #define __IFilterMapper_INTERFACE_DEFINED__
  5073.  
  5074. /* interface IFilterMapper */
  5075. /* [unique][uuid][object] */ 
  5076.  
  5077.  
  5078. enum __MIDL_IFilterMapper_0001
  5079.     {    MERIT_PREFERRED    = 0x800000,
  5080.     MERIT_NORMAL    = 0x600000,
  5081.     MERIT_UNLIKELY    = 0x400000,
  5082.     MERIT_DO_NOT_USE    = 0x200000,
  5083.     MERIT_SW_COMPRESSOR    = 0x100000,
  5084.     MERIT_HW_COMPRESSOR    = 0x100050
  5085.     } ;
  5086.  
  5087. EXTERN_C const IID IID_IFilterMapper;
  5088.  
  5089. #if defined(__cplusplus) && !defined(CINTERFACE)
  5090.     
  5091.     MIDL_INTERFACE("56a868a3-0ad4-11ce-b03a-0020af0ba770")
  5092.     IFilterMapper : public IUnknown
  5093.     {
  5094.     public:
  5095.         virtual HRESULT STDMETHODCALLTYPE RegisterFilter( 
  5096.             /* [in] */ CLSID clsid,
  5097.             /* [in] */ LPCWSTR Name,
  5098.             /* [in] */ DWORD dwMerit) = 0;
  5099.         
  5100.         virtual HRESULT STDMETHODCALLTYPE RegisterFilterInstance( 
  5101.             /* [in] */ CLSID clsid,
  5102.             /* [in] */ LPCWSTR Name,
  5103.             /* [out] */ CLSID *MRId) = 0;
  5104.         
  5105.         virtual HRESULT STDMETHODCALLTYPE RegisterPin( 
  5106.             /* [in] */ CLSID Filter,
  5107.             /* [in] */ LPCWSTR Name,
  5108.             /* [in] */ BOOL bRendered,
  5109.             /* [in] */ BOOL bOutput,
  5110.             /* [in] */ BOOL bZero,
  5111.             /* [in] */ BOOL bMany,
  5112.             /* [in] */ CLSID ConnectsToFilter,
  5113.             /* [in] */ LPCWSTR ConnectsToPin) = 0;
  5114.         
  5115.         virtual HRESULT STDMETHODCALLTYPE RegisterPinType( 
  5116.             /* [in] */ CLSID clsFilter,
  5117.             /* [in] */ LPCWSTR strName,
  5118.             /* [in] */ CLSID clsMajorType,
  5119.             /* [in] */ CLSID clsSubType) = 0;
  5120.         
  5121.         virtual HRESULT STDMETHODCALLTYPE UnregisterFilter( 
  5122.             /* [in] */ CLSID Filter) = 0;
  5123.         
  5124.         virtual HRESULT STDMETHODCALLTYPE UnregisterFilterInstance( 
  5125.             /* [in] */ CLSID MRId) = 0;
  5126.         
  5127.         virtual HRESULT STDMETHODCALLTYPE UnregisterPin( 
  5128.             /* [in] */ CLSID Filter,
  5129.             /* [in] */ LPCWSTR Name) = 0;
  5130.         
  5131.         virtual HRESULT STDMETHODCALLTYPE EnumMatchingFilters( 
  5132.             /* [out] */ IEnumRegFilters **ppEnum,
  5133.             /* [in] */ DWORD dwMerit,
  5134.             /* [in] */ BOOL bInputNeeded,
  5135.             /* [in] */ CLSID clsInMaj,
  5136.             /* [in] */ CLSID clsInSub,
  5137.             /* [in] */ BOOL bRender,
  5138.             /* [in] */ BOOL bOututNeeded,
  5139.             /* [in] */ CLSID clsOutMaj,
  5140.             /* [in] */ CLSID clsOutSub) = 0;
  5141.         
  5142.     };
  5143.     
  5144. #else     /* C style interface */
  5145.  
  5146.     typedef struct IFilterMapperVtbl
  5147.     {
  5148.         BEGIN_INTERFACE
  5149.         
  5150.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  5151.             IFilterMapper * This,
  5152.             /* [in] */ REFIID riid,
  5153.             /* [iid_is][out] */ void **ppvObject);
  5154.         
  5155.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  5156.             IFilterMapper * This);
  5157.         
  5158.         ULONG ( STDMETHODCALLTYPE *Release )( 
  5159.             IFilterMapper * This);
  5160.         
  5161.         HRESULT ( STDMETHODCALLTYPE *RegisterFilter )( 
  5162.             IFilterMapper * This,
  5163.             /* [in] */ CLSID clsid,
  5164.             /* [in] */ LPCWSTR Name,
  5165.             /* [in] */ DWORD dwMerit);
  5166.         
  5167.         HRESULT ( STDMETHODCALLTYPE *RegisterFilterInstance )( 
  5168.             IFilterMapper * This,
  5169.             /* [in] */ CLSID clsid,
  5170.             /* [in] */ LPCWSTR Name,
  5171.             /* [out] */ CLSID *MRId);
  5172.         
  5173.         HRESULT ( STDMETHODCALLTYPE *RegisterPin )( 
  5174.             IFilterMapper * This,
  5175.             /* [in] */ CLSID Filter,
  5176.             /* [in] */ LPCWSTR Name,
  5177.             /* [in] */ BOOL bRendered,
  5178.             /* [in] */ BOOL bOutput,
  5179.             /* [in] */ BOOL bZero,
  5180.             /* [in] */ BOOL bMany,
  5181.             /* [in] */ CLSID ConnectsToFilter,
  5182.             /* [in] */ LPCWSTR ConnectsToPin);
  5183.         
  5184.         HRESULT ( STDMETHODCALLTYPE *RegisterPinType )( 
  5185.             IFilterMapper * This,
  5186.             /* [in] */ CLSID clsFilter,
  5187.             /* [in] */ LPCWSTR strName,
  5188.             /* [in] */ CLSID clsMajorType,
  5189.             /* [in] */ CLSID clsSubType);
  5190.         
  5191.         HRESULT ( STDMETHODCALLTYPE *UnregisterFilter )( 
  5192.             IFilterMapper * This,
  5193.             /* [in] */ CLSID Filter);
  5194.         
  5195.         HRESULT ( STDMETHODCALLTYPE *UnregisterFilterInstance )( 
  5196.             IFilterMapper * This,
  5197.             /* [in] */ CLSID MRId);
  5198.         
  5199.         HRESULT ( STDMETHODCALLTYPE *UnregisterPin )( 
  5200.             IFilterMapper * This,
  5201.             /* [in] */ CLSID Filter,
  5202.             /* [in] */ LPCWSTR Name);
  5203.         
  5204.         HRESULT ( STDMETHODCALLTYPE *EnumMatchingFilters )( 
  5205.             IFilterMapper * This,
  5206.             /* [out] */ IEnumRegFilters **ppEnum,
  5207.             /* [in] */ DWORD dwMerit,
  5208.             /* [in] */ BOOL bInputNeeded,
  5209.             /* [in] */ CLSID clsInMaj,
  5210.             /* [in] */ CLSID clsInSub,
  5211.             /* [in] */ BOOL bRender,
  5212.             /* [in] */ BOOL bOututNeeded,
  5213.             /* [in] */ CLSID clsOutMaj,
  5214.             /* [in] */ CLSID clsOutSub);
  5215.         
  5216.         END_INTERFACE
  5217.     } IFilterMapperVtbl;
  5218.  
  5219.     interface IFilterMapper
  5220.     {
  5221.         CONST_VTBL struct IFilterMapperVtbl *lpVtbl;
  5222.     };
  5223.  
  5224.     
  5225.  
  5226. #ifdef COBJMACROS
  5227.  
  5228.  
  5229. #define IFilterMapper_QueryInterface(This,riid,ppvObject)    \
  5230.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  5231.  
  5232. #define IFilterMapper_AddRef(This)    \
  5233.     (This)->lpVtbl -> AddRef(This)
  5234.  
  5235. #define IFilterMapper_Release(This)    \
  5236.     (This)->lpVtbl -> Release(This)
  5237.  
  5238.  
  5239. #define IFilterMapper_RegisterFilter(This,clsid,Name,dwMerit)    \
  5240.     (This)->lpVtbl -> RegisterFilter(This,clsid,Name,dwMerit)
  5241.  
  5242. #define IFilterMapper_RegisterFilterInstance(This,clsid,Name,MRId)    \
  5243.     (This)->lpVtbl -> RegisterFilterInstance(This,clsid,Name,MRId)
  5244.  
  5245. #define IFilterMapper_RegisterPin(This,Filter,Name,bRendered,bOutput,bZero,bMany,ConnectsToFilter,ConnectsToPin)    \
  5246.     (This)->lpVtbl -> RegisterPin(This,Filter,Name,bRendered,bOutput,bZero,bMany,ConnectsToFilter,ConnectsToPin)
  5247.  
  5248. #define IFilterMapper_RegisterPinType(This,clsFilter,strName,clsMajorType,clsSubType)    \
  5249.     (This)->lpVtbl -> RegisterPinType(This,clsFilter,strName,clsMajorType,clsSubType)
  5250.  
  5251. #define IFilterMapper_UnregisterFilter(This,Filter)    \
  5252.     (This)->lpVtbl -> UnregisterFilter(This,Filter)
  5253.  
  5254. #define IFilterMapper_UnregisterFilterInstance(This,MRId)    \
  5255.     (This)->lpVtbl -> UnregisterFilterInstance(This,MRId)
  5256.  
  5257. #define IFilterMapper_UnregisterPin(This,Filter,Name)    \
  5258.     (This)->lpVtbl -> UnregisterPin(This,Filter,Name)
  5259.  
  5260. #define IFilterMapper_EnumMatchingFilters(This,ppEnum,dwMerit,bInputNeeded,clsInMaj,clsInSub,bRender,bOututNeeded,clsOutMaj,clsOutSub)    \
  5261.     (This)->lpVtbl -> EnumMatchingFilters(This,ppEnum,dwMerit,bInputNeeded,clsInMaj,clsInSub,bRender,bOututNeeded,clsOutMaj,clsOutSub)
  5262.  
  5263. #endif /* COBJMACROS */
  5264.  
  5265.  
  5266. #endif     /* C style interface */
  5267.  
  5268.  
  5269.  
  5270. HRESULT STDMETHODCALLTYPE IFilterMapper_RegisterFilter_Proxy( 
  5271.     IFilterMapper * This,
  5272.     /* [in] */ CLSID clsid,
  5273.     /* [in] */ LPCWSTR Name,
  5274.     /* [in] */ DWORD dwMerit);
  5275.  
  5276.  
  5277. void __RPC_STUB IFilterMapper_RegisterFilter_Stub(
  5278.     IRpcStubBuffer *This,
  5279.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5280.     PRPC_MESSAGE _pRpcMessage,
  5281.     DWORD *_pdwStubPhase);
  5282.  
  5283.  
  5284. HRESULT STDMETHODCALLTYPE IFilterMapper_RegisterFilterInstance_Proxy( 
  5285.     IFilterMapper * This,
  5286.     /* [in] */ CLSID clsid,
  5287.     /* [in] */ LPCWSTR Name,
  5288.     /* [out] */ CLSID *MRId);
  5289.  
  5290.  
  5291. void __RPC_STUB IFilterMapper_RegisterFilterInstance_Stub(
  5292.     IRpcStubBuffer *This,
  5293.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5294.     PRPC_MESSAGE _pRpcMessage,
  5295.     DWORD *_pdwStubPhase);
  5296.  
  5297.  
  5298. HRESULT STDMETHODCALLTYPE IFilterMapper_RegisterPin_Proxy( 
  5299.     IFilterMapper * This,
  5300.     /* [in] */ CLSID Filter,
  5301.     /* [in] */ LPCWSTR Name,
  5302.     /* [in] */ BOOL bRendered,
  5303.     /* [in] */ BOOL bOutput,
  5304.     /* [in] */ BOOL bZero,
  5305.     /* [in] */ BOOL bMany,
  5306.     /* [in] */ CLSID ConnectsToFilter,
  5307.     /* [in] */ LPCWSTR ConnectsToPin);
  5308.  
  5309.  
  5310. void __RPC_STUB IFilterMapper_RegisterPin_Stub(
  5311.     IRpcStubBuffer *This,
  5312.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5313.     PRPC_MESSAGE _pRpcMessage,
  5314.     DWORD *_pdwStubPhase);
  5315.  
  5316.  
  5317. HRESULT STDMETHODCALLTYPE IFilterMapper_RegisterPinType_Proxy( 
  5318.     IFilterMapper * This,
  5319.     /* [in] */ CLSID clsFilter,
  5320.     /* [in] */ LPCWSTR strName,
  5321.     /* [in] */ CLSID clsMajorType,
  5322.     /* [in] */ CLSID clsSubType);
  5323.  
  5324.  
  5325. void __RPC_STUB IFilterMapper_RegisterPinType_Stub(
  5326.     IRpcStubBuffer *This,
  5327.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5328.     PRPC_MESSAGE _pRpcMessage,
  5329.     DWORD *_pdwStubPhase);
  5330.  
  5331.  
  5332. HRESULT STDMETHODCALLTYPE IFilterMapper_UnregisterFilter_Proxy( 
  5333.     IFilterMapper * This,
  5334.     /* [in] */ CLSID Filter);
  5335.  
  5336.  
  5337. void __RPC_STUB IFilterMapper_UnregisterFilter_Stub(
  5338.     IRpcStubBuffer *This,
  5339.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5340.     PRPC_MESSAGE _pRpcMessage,
  5341.     DWORD *_pdwStubPhase);
  5342.  
  5343.  
  5344. HRESULT STDMETHODCALLTYPE IFilterMapper_UnregisterFilterInstance_Proxy( 
  5345.     IFilterMapper * This,
  5346.     /* [in] */ CLSID MRId);
  5347.  
  5348.  
  5349. void __RPC_STUB IFilterMapper_UnregisterFilterInstance_Stub(
  5350.     IRpcStubBuffer *This,
  5351.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5352.     PRPC_MESSAGE _pRpcMessage,
  5353.     DWORD *_pdwStubPhase);
  5354.  
  5355.  
  5356. HRESULT STDMETHODCALLTYPE IFilterMapper_UnregisterPin_Proxy( 
  5357.     IFilterMapper * This,
  5358.     /* [in] */ CLSID Filter,
  5359.     /* [in] */ LPCWSTR Name);
  5360.  
  5361.  
  5362. void __RPC_STUB IFilterMapper_UnregisterPin_Stub(
  5363.     IRpcStubBuffer *This,
  5364.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5365.     PRPC_MESSAGE _pRpcMessage,
  5366.     DWORD *_pdwStubPhase);
  5367.  
  5368.  
  5369. HRESULT STDMETHODCALLTYPE IFilterMapper_EnumMatchingFilters_Proxy( 
  5370.     IFilterMapper * This,
  5371.     /* [out] */ IEnumRegFilters **ppEnum,
  5372.     /* [in] */ DWORD dwMerit,
  5373.     /* [in] */ BOOL bInputNeeded,
  5374.     /* [in] */ CLSID clsInMaj,
  5375.     /* [in] */ CLSID clsInSub,
  5376.     /* [in] */ BOOL bRender,
  5377.     /* [in] */ BOOL bOututNeeded,
  5378.     /* [in] */ CLSID clsOutMaj,
  5379.     /* [in] */ CLSID clsOutSub);
  5380.  
  5381.  
  5382. void __RPC_STUB IFilterMapper_EnumMatchingFilters_Stub(
  5383.     IRpcStubBuffer *This,
  5384.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5385.     PRPC_MESSAGE _pRpcMessage,
  5386.     DWORD *_pdwStubPhase);
  5387.  
  5388.  
  5389.  
  5390. #endif     /* __IFilterMapper_INTERFACE_DEFINED__ */
  5391.  
  5392.  
  5393. /* interface __MIDL_itf_strmif_0129 */
  5394. /* [local] */ 
  5395.  
  5396. typedef /* [public][public][public][public][public][public][public] */ struct __MIDL___MIDL_itf_strmif_0129_0001
  5397.     {
  5398.     const CLSID *clsMajorType;
  5399.     const CLSID *clsMinorType;
  5400.     }     REGPINTYPES;
  5401.  
  5402. typedef /* [public][public][public] */ struct __MIDL___MIDL_itf_strmif_0129_0002
  5403.     {
  5404.     LPWSTR strName;
  5405.     BOOL bRendered;
  5406.     BOOL bOutput;
  5407.     BOOL bZero;
  5408.     BOOL bMany;
  5409.     const CLSID *clsConnectsToFilter;
  5410.     const WCHAR *strConnectsToPin;
  5411.     UINT nMediaTypes;
  5412.     const REGPINTYPES *lpMediaType;
  5413.     }     REGFILTERPINS;
  5414.  
  5415. typedef /* [public][public][public][public][public][public] */ struct __MIDL___MIDL_itf_strmif_0129_0003
  5416.     {
  5417.     CLSID clsMedium;
  5418.     DWORD dw1;
  5419.     DWORD dw2;
  5420.     }     REGPINMEDIUM;
  5421.  
  5422.  
  5423. enum __MIDL___MIDL_itf_strmif_0129_0004
  5424.     {    REG_PINFLAG_B_ZERO    = 0x1,
  5425.     REG_PINFLAG_B_RENDERER    = 0x2,
  5426.     REG_PINFLAG_B_MANY    = 0x4,
  5427.     REG_PINFLAG_B_OUTPUT    = 0x8
  5428.     } ;
  5429. typedef /* [public][public][public] */ struct __MIDL___MIDL_itf_strmif_0129_0005
  5430.     {
  5431.     DWORD dwFlags;
  5432.     UINT cInstances;
  5433.     UINT nMediaTypes;
  5434.     /* [size_is] */ const REGPINTYPES *lpMediaType;
  5435.     UINT nMediums;
  5436.     /* [size_is] */ const REGPINMEDIUM *lpMedium;
  5437.     const CLSID *clsPinCategory;
  5438.     }     REGFILTERPINS2;
  5439.  
  5440. typedef /* [public][public] */ struct __MIDL___MIDL_itf_strmif_0129_0006
  5441.     {
  5442.     DWORD dwVersion;
  5443.     DWORD dwMerit;
  5444.     /* [switch_type][switch_is] */ union 
  5445.         {
  5446.         /* [case()] */ struct 
  5447.             {
  5448.             ULONG cPins;
  5449.             /* [size_is] */ const REGFILTERPINS *rgPins;
  5450.             }     ;
  5451.         /* [case()] */ struct 
  5452.             {
  5453.             ULONG cPins2;
  5454.             /* [size_is] */ const REGFILTERPINS2 *rgPins2;
  5455.             }     ;
  5456.         /* [default] */  /* Empty union arm */ 
  5457.         }     ;
  5458.     }     REGFILTER2;
  5459.  
  5460.  
  5461.  
  5462. extern RPC_IF_HANDLE __MIDL_itf_strmif_0129_v0_0_c_ifspec;
  5463. extern RPC_IF_HANDLE __MIDL_itf_strmif_0129_v0_0_s_ifspec;
  5464.  
  5465. #ifndef __IFilterMapper2_INTERFACE_DEFINED__
  5466. #define __IFilterMapper2_INTERFACE_DEFINED__
  5467.  
  5468. /* interface IFilterMapper2 */
  5469. /* [unique][uuid][object] */ 
  5470.  
  5471.  
  5472. EXTERN_C const IID IID_IFilterMapper2;
  5473.  
  5474. #if defined(__cplusplus) && !defined(CINTERFACE)
  5475.     
  5476.     MIDL_INTERFACE("b79bb0b0-33c1-11d1-abe1-00a0c905f375")
  5477.     IFilterMapper2 : public IUnknown
  5478.     {
  5479.     public:
  5480.         virtual HRESULT STDMETHODCALLTYPE CreateCategory( 
  5481.             /* [in] */ REFCLSID clsidCategory,
  5482.             /* [in] */ DWORD dwCategoryMerit,
  5483.             /* [in] */ LPCWSTR Description) = 0;
  5484.         
  5485.         virtual HRESULT STDMETHODCALLTYPE UnregisterFilter( 
  5486.             /* [in] */ const CLSID *pclsidCategory,
  5487.             /* [in] */ const OLECHAR *szInstance,
  5488.             /* [in] */ REFCLSID Filter) = 0;
  5489.         
  5490.         virtual HRESULT STDMETHODCALLTYPE RegisterFilter( 
  5491.             /* [in] */ REFCLSID clsidFilter,
  5492.             /* [in] */ LPCWSTR Name,
  5493.             /* [out][in] */ IMoniker **ppMoniker,
  5494.             /* [in] */ const CLSID *pclsidCategory,
  5495.             /* [in] */ const OLECHAR *szInstance,
  5496.             /* [in] */ const REGFILTER2 *prf2) = 0;
  5497.         
  5498.         virtual HRESULT STDMETHODCALLTYPE EnumMatchingFilters( 
  5499.             /* [out] */ IEnumMoniker **ppEnum,
  5500.             /* [in] */ DWORD dwFlags,
  5501.             /* [in] */ BOOL bExactMatch,
  5502.             /* [in] */ DWORD dwMerit,
  5503.             /* [in] */ BOOL bInputNeeded,
  5504.             /* [in] */ DWORD cInputTypes,
  5505.             /* [size_is] */ const GUID *pInputTypes,
  5506.             /* [in] */ const REGPINMEDIUM *pMedIn,
  5507.             /* [in] */ const CLSID *pPinCategoryIn,
  5508.             /* [in] */ BOOL bRender,
  5509.             /* [in] */ BOOL bOutputNeeded,
  5510.             /* [in] */ DWORD cOutputTypes,
  5511.             /* [size_is] */ const GUID *pOutputTypes,
  5512.             /* [in] */ const REGPINMEDIUM *pMedOut,
  5513.             /* [in] */ const CLSID *pPinCategoryOut) = 0;
  5514.         
  5515.     };
  5516.     
  5517. #else     /* C style interface */
  5518.  
  5519.     typedef struct IFilterMapper2Vtbl
  5520.     {
  5521.         BEGIN_INTERFACE
  5522.         
  5523.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  5524.             IFilterMapper2 * This,
  5525.             /* [in] */ REFIID riid,
  5526.             /* [iid_is][out] */ void **ppvObject);
  5527.         
  5528.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  5529.             IFilterMapper2 * This);
  5530.         
  5531.         ULONG ( STDMETHODCALLTYPE *Release )( 
  5532.             IFilterMapper2 * This);
  5533.         
  5534.         HRESULT ( STDMETHODCALLTYPE *CreateCategory )( 
  5535.             IFilterMapper2 * This,
  5536.             /* [in] */ REFCLSID clsidCategory,
  5537.             /* [in] */ DWORD dwCategoryMerit,
  5538.             /* [in] */ LPCWSTR Description);
  5539.         
  5540.         HRESULT ( STDMETHODCALLTYPE *UnregisterFilter )( 
  5541.             IFilterMapper2 * This,
  5542.             /* [in] */ const CLSID *pclsidCategory,
  5543.             /* [in] */ const OLECHAR *szInstance,
  5544.             /* [in] */ REFCLSID Filter);
  5545.         
  5546.         HRESULT ( STDMETHODCALLTYPE *RegisterFilter )( 
  5547.             IFilterMapper2 * This,
  5548.             /* [in] */ REFCLSID clsidFilter,
  5549.             /* [in] */ LPCWSTR Name,
  5550.             /* [out][in] */ IMoniker **ppMoniker,
  5551.             /* [in] */ const CLSID *pclsidCategory,
  5552.             /* [in] */ const OLECHAR *szInstance,
  5553.             /* [in] */ const REGFILTER2 *prf2);
  5554.         
  5555.         HRESULT ( STDMETHODCALLTYPE *EnumMatchingFilters )( 
  5556.             IFilterMapper2 * This,
  5557.             /* [out] */ IEnumMoniker **ppEnum,
  5558.             /* [in] */ DWORD dwFlags,
  5559.             /* [in] */ BOOL bExactMatch,
  5560.             /* [in] */ DWORD dwMerit,
  5561.             /* [in] */ BOOL bInputNeeded,
  5562.             /* [in] */ DWORD cInputTypes,
  5563.             /* [size_is] */ const GUID *pInputTypes,
  5564.             /* [in] */ const REGPINMEDIUM *pMedIn,
  5565.             /* [in] */ const CLSID *pPinCategoryIn,
  5566.             /* [in] */ BOOL bRender,
  5567.             /* [in] */ BOOL bOutputNeeded,
  5568.             /* [in] */ DWORD cOutputTypes,
  5569.             /* [size_is] */ const GUID *pOutputTypes,
  5570.             /* [in] */ const REGPINMEDIUM *pMedOut,
  5571.             /* [in] */ const CLSID *pPinCategoryOut);
  5572.         
  5573.         END_INTERFACE
  5574.     } IFilterMapper2Vtbl;
  5575.  
  5576.     interface IFilterMapper2
  5577.     {
  5578.         CONST_VTBL struct IFilterMapper2Vtbl *lpVtbl;
  5579.     };
  5580.  
  5581.     
  5582.  
  5583. #ifdef COBJMACROS
  5584.  
  5585.  
  5586. #define IFilterMapper2_QueryInterface(This,riid,ppvObject)    \
  5587.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  5588.  
  5589. #define IFilterMapper2_AddRef(This)    \
  5590.     (This)->lpVtbl -> AddRef(This)
  5591.  
  5592. #define IFilterMapper2_Release(This)    \
  5593.     (This)->lpVtbl -> Release(This)
  5594.  
  5595.  
  5596. #define IFilterMapper2_CreateCategory(This,clsidCategory,dwCategoryMerit,Description)    \
  5597.     (This)->lpVtbl -> CreateCategory(This,clsidCategory,dwCategoryMerit,Description)
  5598.  
  5599. #define IFilterMapper2_UnregisterFilter(This,pclsidCategory,szInstance,Filter)    \
  5600.     (This)->lpVtbl -> UnregisterFilter(This,pclsidCategory,szInstance,Filter)
  5601.  
  5602. #define IFilterMapper2_RegisterFilter(This,clsidFilter,Name,ppMoniker,pclsidCategory,szInstance,prf2)    \
  5603.     (This)->lpVtbl -> RegisterFilter(This,clsidFilter,Name,ppMoniker,pclsidCategory,szInstance,prf2)
  5604.  
  5605. #define IFilterMapper2_EnumMatchingFilters(This,ppEnum,dwFlags,bExactMatch,dwMerit,bInputNeeded,cInputTypes,pInputTypes,pMedIn,pPinCategoryIn,bRender,bOutputNeeded,cOutputTypes,pOutputTypes,pMedOut,pPinCategoryOut)    \
  5606.     (This)->lpVtbl -> EnumMatchingFilters(This,ppEnum,dwFlags,bExactMatch,dwMerit,bInputNeeded,cInputTypes,pInputTypes,pMedIn,pPinCategoryIn,bRender,bOutputNeeded,cOutputTypes,pOutputTypes,pMedOut,pPinCategoryOut)
  5607.  
  5608. #endif /* COBJMACROS */
  5609.  
  5610.  
  5611. #endif     /* C style interface */
  5612.  
  5613.  
  5614.  
  5615. HRESULT STDMETHODCALLTYPE IFilterMapper2_CreateCategory_Proxy( 
  5616.     IFilterMapper2 * This,
  5617.     /* [in] */ REFCLSID clsidCategory,
  5618.     /* [in] */ DWORD dwCategoryMerit,
  5619.     /* [in] */ LPCWSTR Description);
  5620.  
  5621.  
  5622. void __RPC_STUB IFilterMapper2_CreateCategory_Stub(
  5623.     IRpcStubBuffer *This,
  5624.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5625.     PRPC_MESSAGE _pRpcMessage,
  5626.     DWORD *_pdwStubPhase);
  5627.  
  5628.  
  5629. HRESULT STDMETHODCALLTYPE IFilterMapper2_UnregisterFilter_Proxy( 
  5630.     IFilterMapper2 * This,
  5631.     /* [in] */ const CLSID *pclsidCategory,
  5632.     /* [in] */ const OLECHAR *szInstance,
  5633.     /* [in] */ REFCLSID Filter);
  5634.  
  5635.  
  5636. void __RPC_STUB IFilterMapper2_UnregisterFilter_Stub(
  5637.     IRpcStubBuffer *This,
  5638.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5639.     PRPC_MESSAGE _pRpcMessage,
  5640.     DWORD *_pdwStubPhase);
  5641.  
  5642.  
  5643. HRESULT STDMETHODCALLTYPE IFilterMapper2_RegisterFilter_Proxy( 
  5644.     IFilterMapper2 * This,
  5645.     /* [in] */ REFCLSID clsidFilter,
  5646.     /* [in] */ LPCWSTR Name,
  5647.     /* [out][in] */ IMoniker **ppMoniker,
  5648.     /* [in] */ const CLSID *pclsidCategory,
  5649.     /* [in] */ const OLECHAR *szInstance,
  5650.     /* [in] */ const REGFILTER2 *prf2);
  5651.  
  5652.  
  5653. void __RPC_STUB IFilterMapper2_RegisterFilter_Stub(
  5654.     IRpcStubBuffer *This,
  5655.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5656.     PRPC_MESSAGE _pRpcMessage,
  5657.     DWORD *_pdwStubPhase);
  5658.  
  5659.  
  5660. HRESULT STDMETHODCALLTYPE IFilterMapper2_EnumMatchingFilters_Proxy( 
  5661.     IFilterMapper2 * This,
  5662.     /* [out] */ IEnumMoniker **ppEnum,
  5663.     /* [in] */ DWORD dwFlags,
  5664.     /* [in] */ BOOL bExactMatch,
  5665.     /* [in] */ DWORD dwMerit,
  5666.     /* [in] */ BOOL bInputNeeded,
  5667.     /* [in] */ DWORD cInputTypes,
  5668.     /* [size_is] */ const GUID *pInputTypes,
  5669.     /* [in] */ const REGPINMEDIUM *pMedIn,
  5670.     /* [in] */ const CLSID *pPinCategoryIn,
  5671.     /* [in] */ BOOL bRender,
  5672.     /* [in] */ BOOL bOutputNeeded,
  5673.     /* [in] */ DWORD cOutputTypes,
  5674.     /* [size_is] */ const GUID *pOutputTypes,
  5675.     /* [in] */ const REGPINMEDIUM *pMedOut,
  5676.     /* [in] */ const CLSID *pPinCategoryOut);
  5677.  
  5678.  
  5679. void __RPC_STUB IFilterMapper2_EnumMatchingFilters_Stub(
  5680.     IRpcStubBuffer *This,
  5681.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5682.     PRPC_MESSAGE _pRpcMessage,
  5683.     DWORD *_pdwStubPhase);
  5684.  
  5685.  
  5686.  
  5687. #endif     /* __IFilterMapper2_INTERFACE_DEFINED__ */
  5688.  
  5689.  
  5690. #ifndef __IFilterMapper3_INTERFACE_DEFINED__
  5691. #define __IFilterMapper3_INTERFACE_DEFINED__
  5692.  
  5693. /* interface IFilterMapper3 */
  5694. /* [unique][uuid][object] */ 
  5695.  
  5696.  
  5697. EXTERN_C const IID IID_IFilterMapper3;
  5698.  
  5699. #if defined(__cplusplus) && !defined(CINTERFACE)
  5700.     
  5701.     MIDL_INTERFACE("b79bb0b1-33c1-11d1-abe1-00a0c905f375")
  5702.     IFilterMapper3 : public IFilterMapper2
  5703.     {
  5704.     public:
  5705.         virtual HRESULT STDMETHODCALLTYPE GetICreateDevEnum( 
  5706.             /* [out] */ ICreateDevEnum **ppEnum) = 0;
  5707.         
  5708.     };
  5709.     
  5710. #else     /* C style interface */
  5711.  
  5712.     typedef struct IFilterMapper3Vtbl
  5713.     {
  5714.         BEGIN_INTERFACE
  5715.         
  5716.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  5717.             IFilterMapper3 * This,
  5718.             /* [in] */ REFIID riid,
  5719.             /* [iid_is][out] */ void **ppvObject);
  5720.         
  5721.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  5722.             IFilterMapper3 * This);
  5723.         
  5724.         ULONG ( STDMETHODCALLTYPE *Release )( 
  5725.             IFilterMapper3 * This);
  5726.         
  5727.         HRESULT ( STDMETHODCALLTYPE *CreateCategory )( 
  5728.             IFilterMapper3 * This,
  5729.             /* [in] */ REFCLSID clsidCategory,
  5730.             /* [in] */ DWORD dwCategoryMerit,
  5731.             /* [in] */ LPCWSTR Description);
  5732.         
  5733.         HRESULT ( STDMETHODCALLTYPE *UnregisterFilter )( 
  5734.             IFilterMapper3 * This,
  5735.             /* [in] */ const CLSID *pclsidCategory,
  5736.             /* [in] */ const OLECHAR *szInstance,
  5737.             /* [in] */ REFCLSID Filter);
  5738.         
  5739.         HRESULT ( STDMETHODCALLTYPE *RegisterFilter )( 
  5740.             IFilterMapper3 * This,
  5741.             /* [in] */ REFCLSID clsidFilter,
  5742.             /* [in] */ LPCWSTR Name,
  5743.             /* [out][in] */ IMoniker **ppMoniker,
  5744.             /* [in] */ const CLSID *pclsidCategory,
  5745.             /* [in] */ const OLECHAR *szInstance,
  5746.             /* [in] */ const REGFILTER2 *prf2);
  5747.         
  5748.         HRESULT ( STDMETHODCALLTYPE *EnumMatchingFilters )( 
  5749.             IFilterMapper3 * This,
  5750.             /* [out] */ IEnumMoniker **ppEnum,
  5751.             /* [in] */ DWORD dwFlags,
  5752.             /* [in] */ BOOL bExactMatch,
  5753.             /* [in] */ DWORD dwMerit,
  5754.             /* [in] */ BOOL bInputNeeded,
  5755.             /* [in] */ DWORD cInputTypes,
  5756.             /* [size_is] */ const GUID *pInputTypes,
  5757.             /* [in] */ const REGPINMEDIUM *pMedIn,
  5758.             /* [in] */ const CLSID *pPinCategoryIn,
  5759.             /* [in] */ BOOL bRender,
  5760.             /* [in] */ BOOL bOutputNeeded,
  5761.             /* [in] */ DWORD cOutputTypes,
  5762.             /* [size_is] */ const GUID *pOutputTypes,
  5763.             /* [in] */ const REGPINMEDIUM *pMedOut,
  5764.             /* [in] */ const CLSID *pPinCategoryOut);
  5765.         
  5766.         HRESULT ( STDMETHODCALLTYPE *GetICreateDevEnum )( 
  5767.             IFilterMapper3 * This,
  5768.             /* [out] */ ICreateDevEnum **ppEnum);
  5769.         
  5770.         END_INTERFACE
  5771.     } IFilterMapper3Vtbl;
  5772.  
  5773.     interface IFilterMapper3
  5774.     {
  5775.         CONST_VTBL struct IFilterMapper3Vtbl *lpVtbl;
  5776.     };
  5777.  
  5778.     
  5779.  
  5780. #ifdef COBJMACROS
  5781.  
  5782.  
  5783. #define IFilterMapper3_QueryInterface(This,riid,ppvObject)    \
  5784.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  5785.  
  5786. #define IFilterMapper3_AddRef(This)    \
  5787.     (This)->lpVtbl -> AddRef(This)
  5788.  
  5789. #define IFilterMapper3_Release(This)    \
  5790.     (This)->lpVtbl -> Release(This)
  5791.  
  5792.  
  5793. #define IFilterMapper3_CreateCategory(This,clsidCategory,dwCategoryMerit,Description)    \
  5794.     (This)->lpVtbl -> CreateCategory(This,clsidCategory,dwCategoryMerit,Description)
  5795.  
  5796. #define IFilterMapper3_UnregisterFilter(This,pclsidCategory,szInstance,Filter)    \
  5797.     (This)->lpVtbl -> UnregisterFilter(This,pclsidCategory,szInstance,Filter)
  5798.  
  5799. #define IFilterMapper3_RegisterFilter(This,clsidFilter,Name,ppMoniker,pclsidCategory,szInstance,prf2)    \
  5800.     (This)->lpVtbl -> RegisterFilter(This,clsidFilter,Name,ppMoniker,pclsidCategory,szInstance,prf2)
  5801.  
  5802. #define IFilterMapper3_EnumMatchingFilters(This,ppEnum,dwFlags,bExactMatch,dwMerit,bInputNeeded,cInputTypes,pInputTypes,pMedIn,pPinCategoryIn,bRender,bOutputNeeded,cOutputTypes,pOutputTypes,pMedOut,pPinCategoryOut)    \
  5803.     (This)->lpVtbl -> EnumMatchingFilters(This,ppEnum,dwFlags,bExactMatch,dwMerit,bInputNeeded,cInputTypes,pInputTypes,pMedIn,pPinCategoryIn,bRender,bOutputNeeded,cOutputTypes,pOutputTypes,pMedOut,pPinCategoryOut)
  5804.  
  5805.  
  5806. #define IFilterMapper3_GetICreateDevEnum(This,ppEnum)    \
  5807.     (This)->lpVtbl -> GetICreateDevEnum(This,ppEnum)
  5808.  
  5809. #endif /* COBJMACROS */
  5810.  
  5811.  
  5812. #endif     /* C style interface */
  5813.  
  5814.  
  5815.  
  5816. HRESULT STDMETHODCALLTYPE IFilterMapper3_GetICreateDevEnum_Proxy( 
  5817.     IFilterMapper3 * This,
  5818.     /* [out] */ ICreateDevEnum **ppEnum);
  5819.  
  5820.  
  5821. void __RPC_STUB IFilterMapper3_GetICreateDevEnum_Stub(
  5822.     IRpcStubBuffer *This,
  5823.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5824.     PRPC_MESSAGE _pRpcMessage,
  5825.     DWORD *_pdwStubPhase);
  5826.  
  5827.  
  5828.  
  5829. #endif     /* __IFilterMapper3_INTERFACE_DEFINED__ */
  5830.  
  5831.  
  5832. /* interface __MIDL_itf_strmif_0132 */
  5833. /* [local] */ 
  5834.  
  5835. typedef 
  5836. enum tagQualityMessageType
  5837.     {    Famine    = 0,
  5838.     Flood    = Famine + 1
  5839.     }     QualityMessageType;
  5840.  
  5841. typedef struct tagQuality
  5842.     {
  5843.     QualityMessageType Type;
  5844.     long Proportion;
  5845.     REFERENCE_TIME Late;
  5846.     REFERENCE_TIME TimeStamp;
  5847.     }     Quality;
  5848.  
  5849. typedef IQualityControl *PQUALITYCONTROL;
  5850.  
  5851.  
  5852.  
  5853. extern RPC_IF_HANDLE __MIDL_itf_strmif_0132_v0_0_c_ifspec;
  5854. extern RPC_IF_HANDLE __MIDL_itf_strmif_0132_v0_0_s_ifspec;
  5855.  
  5856. #ifndef __IQualityControl_INTERFACE_DEFINED__
  5857. #define __IQualityControl_INTERFACE_DEFINED__
  5858.  
  5859. /* interface IQualityControl */
  5860. /* [unique][uuid][object] */ 
  5861.  
  5862.  
  5863. EXTERN_C const IID IID_IQualityControl;
  5864.  
  5865. #if defined(__cplusplus) && !defined(CINTERFACE)
  5866.     
  5867.     MIDL_INTERFACE("56a868a5-0ad4-11ce-b03a-0020af0ba770")
  5868.     IQualityControl : public IUnknown
  5869.     {
  5870.     public:
  5871.         virtual HRESULT STDMETHODCALLTYPE Notify( 
  5872.             /* [in] */ IBaseFilter *pSelf,
  5873.             /* [in] */ Quality q) = 0;
  5874.         
  5875.         virtual HRESULT STDMETHODCALLTYPE SetSink( 
  5876.             /* [in] */ IQualityControl *piqc) = 0;
  5877.         
  5878.     };
  5879.     
  5880. #else     /* C style interface */
  5881.  
  5882.     typedef struct IQualityControlVtbl
  5883.     {
  5884.         BEGIN_INTERFACE
  5885.         
  5886.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  5887.             IQualityControl * This,
  5888.             /* [in] */ REFIID riid,
  5889.             /* [iid_is][out] */ void **ppvObject);
  5890.         
  5891.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  5892.             IQualityControl * This);
  5893.         
  5894.         ULONG ( STDMETHODCALLTYPE *Release )( 
  5895.             IQualityControl * This);
  5896.         
  5897.         HRESULT ( STDMETHODCALLTYPE *Notify )( 
  5898.             IQualityControl * This,
  5899.             /* [in] */ IBaseFilter *pSelf,
  5900.             /* [in] */ Quality q);
  5901.         
  5902.         HRESULT ( STDMETHODCALLTYPE *SetSink )( 
  5903.             IQualityControl * This,
  5904.             /* [in] */ IQualityControl *piqc);
  5905.         
  5906.         END_INTERFACE
  5907.     } IQualityControlVtbl;
  5908.  
  5909.     interface IQualityControl
  5910.     {
  5911.         CONST_VTBL struct IQualityControlVtbl *lpVtbl;
  5912.     };
  5913.  
  5914.     
  5915.  
  5916. #ifdef COBJMACROS
  5917.  
  5918.  
  5919. #define IQualityControl_QueryInterface(This,riid,ppvObject)    \
  5920.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  5921.  
  5922. #define IQualityControl_AddRef(This)    \
  5923.     (This)->lpVtbl -> AddRef(This)
  5924.  
  5925. #define IQualityControl_Release(This)    \
  5926.     (This)->lpVtbl -> Release(This)
  5927.  
  5928.  
  5929. #define IQualityControl_Notify(This,pSelf,q)    \
  5930.     (This)->lpVtbl -> Notify(This,pSelf,q)
  5931.  
  5932. #define IQualityControl_SetSink(This,piqc)    \
  5933.     (This)->lpVtbl -> SetSink(This,piqc)
  5934.  
  5935. #endif /* COBJMACROS */
  5936.  
  5937.  
  5938. #endif     /* C style interface */
  5939.  
  5940.  
  5941.  
  5942. HRESULT STDMETHODCALLTYPE IQualityControl_Notify_Proxy( 
  5943.     IQualityControl * This,
  5944.     /* [in] */ IBaseFilter *pSelf,
  5945.     /* [in] */ Quality q);
  5946.  
  5947.  
  5948. void __RPC_STUB IQualityControl_Notify_Stub(
  5949.     IRpcStubBuffer *This,
  5950.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5951.     PRPC_MESSAGE _pRpcMessage,
  5952.     DWORD *_pdwStubPhase);
  5953.  
  5954.  
  5955. HRESULT STDMETHODCALLTYPE IQualityControl_SetSink_Proxy( 
  5956.     IQualityControl * This,
  5957.     /* [in] */ IQualityControl *piqc);
  5958.  
  5959.  
  5960. void __RPC_STUB IQualityControl_SetSink_Stub(
  5961.     IRpcStubBuffer *This,
  5962.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5963.     PRPC_MESSAGE _pRpcMessage,
  5964.     DWORD *_pdwStubPhase);
  5965.  
  5966.  
  5967.  
  5968. #endif     /* __IQualityControl_INTERFACE_DEFINED__ */
  5969.  
  5970.  
  5971. /* interface __MIDL_itf_strmif_0133 */
  5972. /* [local] */ 
  5973.  
  5974.  
  5975. enum __MIDL___MIDL_itf_strmif_0133_0001
  5976.     {    CK_NOCOLORKEY    = 0,
  5977.     CK_INDEX    = 0x1,
  5978.     CK_RGB    = 0x2
  5979.     } ;
  5980. typedef struct tagCOLORKEY
  5981.     {
  5982.     DWORD KeyType;
  5983.     DWORD PaletteIndex;
  5984.     COLORREF LowColorValue;
  5985.     COLORREF HighColorValue;
  5986.     }     COLORKEY;
  5987.  
  5988.  
  5989. enum __MIDL___MIDL_itf_strmif_0133_0002
  5990.     {    ADVISE_NONE    = 0,
  5991.     ADVISE_CLIPPING    = 0x1,
  5992.     ADVISE_PALETTE    = 0x2,
  5993.     ADVISE_COLORKEY    = 0x4,
  5994.     ADVISE_POSITION    = 0x8,
  5995.     ADVISE_DISPLAY_CHANGE    = 0x10
  5996.     } ;
  5997. #define    ADVISE_ALL    ( ADVISE_CLIPPING | ADVISE_PALETTE | ADVISE_COLORKEY | ADVISE_POSITION )
  5998.  
  5999. #define    ADVISE_ALL2    ( ADVISE_ALL | ADVISE_DISPLAY_CHANGE )
  6000.  
  6001. #ifndef _WINGDI_
  6002. typedef struct _RGNDATAHEADER
  6003.     {
  6004.     DWORD dwSize;
  6005.     DWORD iType;
  6006.     DWORD nCount;
  6007.     DWORD nRgnSize;
  6008.     RECT rcBound;
  6009.     }     RGNDATAHEADER;
  6010.  
  6011. typedef struct _RGNDATA
  6012.     {
  6013.     RGNDATAHEADER rdh;
  6014.     char Buffer[ 1 ];
  6015.     }     RGNDATA;
  6016.  
  6017. #endif
  6018.  
  6019.  
  6020. extern RPC_IF_HANDLE __MIDL_itf_strmif_0133_v0_0_c_ifspec;
  6021. extern RPC_IF_HANDLE __MIDL_itf_strmif_0133_v0_0_s_ifspec;
  6022.  
  6023. #ifndef __IOverlayNotify_INTERFACE_DEFINED__
  6024. #define __IOverlayNotify_INTERFACE_DEFINED__
  6025.  
  6026. /* interface IOverlayNotify */
  6027. /* [unique][uuid][local][object] */ 
  6028.  
  6029.  
  6030. EXTERN_C const IID IID_IOverlayNotify;
  6031.  
  6032. #if defined(__cplusplus) && !defined(CINTERFACE)
  6033.     
  6034.     MIDL_INTERFACE("56a868a0-0ad4-11ce-b03a-0020af0ba770")
  6035.     IOverlayNotify : public IUnknown
  6036.     {
  6037.     public:
  6038.         virtual HRESULT STDMETHODCALLTYPE OnPaletteChange( 
  6039.             /* [in] */ DWORD dwColors,
  6040.             /* [in] */ const PALETTEENTRY *pPalette) = 0;
  6041.         
  6042.         virtual HRESULT STDMETHODCALLTYPE OnClipChange( 
  6043.             /* [in] */ const RECT *pSourceRect,
  6044.             /* [in] */ const RECT *pDestinationRect,
  6045.             /* [in] */ const RGNDATA *pRgnData) = 0;
  6046.         
  6047.         virtual HRESULT STDMETHODCALLTYPE OnColorKeyChange( 
  6048.             /* [in] */ const COLORKEY *pColorKey) = 0;
  6049.         
  6050.         virtual HRESULT STDMETHODCALLTYPE OnPositionChange( 
  6051.             /* [in] */ const RECT *pSourceRect,
  6052.             /* [in] */ const RECT *pDestinationRect) = 0;
  6053.         
  6054.     };
  6055.     
  6056. #else     /* C style interface */
  6057.  
  6058.     typedef struct IOverlayNotifyVtbl
  6059.     {
  6060.         BEGIN_INTERFACE
  6061.         
  6062.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  6063.             IOverlayNotify * This,
  6064.             /* [in] */ REFIID riid,
  6065.             /* [iid_is][out] */ void **ppvObject);
  6066.         
  6067.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  6068.             IOverlayNotify * This);
  6069.         
  6070.         ULONG ( STDMETHODCALLTYPE *Release )( 
  6071.             IOverlayNotify * This);
  6072.         
  6073.         HRESULT ( STDMETHODCALLTYPE *OnPaletteChange )( 
  6074.             IOverlayNotify * This,
  6075.             /* [in] */ DWORD dwColors,
  6076.             /* [in] */ const PALETTEENTRY *pPalette);
  6077.         
  6078.         HRESULT ( STDMETHODCALLTYPE *OnClipChange )( 
  6079.             IOverlayNotify * This,
  6080.             /* [in] */ const RECT *pSourceRect,
  6081.             /* [in] */ const RECT *pDestinationRect,
  6082.             /* [in] */ const RGNDATA *pRgnData);
  6083.         
  6084.         HRESULT ( STDMETHODCALLTYPE *OnColorKeyChange )( 
  6085.             IOverlayNotify * This,
  6086.             /* [in] */ const COLORKEY *pColorKey);
  6087.         
  6088.         HRESULT ( STDMETHODCALLTYPE *OnPositionChange )( 
  6089.             IOverlayNotify * This,
  6090.             /* [in] */ const RECT *pSourceRect,
  6091.             /* [in] */ const RECT *pDestinationRect);
  6092.         
  6093.         END_INTERFACE
  6094.     } IOverlayNotifyVtbl;
  6095.  
  6096.     interface IOverlayNotify
  6097.     {
  6098.         CONST_VTBL struct IOverlayNotifyVtbl *lpVtbl;
  6099.     };
  6100.  
  6101.     
  6102.  
  6103. #ifdef COBJMACROS
  6104.  
  6105.  
  6106. #define IOverlayNotify_QueryInterface(This,riid,ppvObject)    \
  6107.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  6108.  
  6109. #define IOverlayNotify_AddRef(This)    \
  6110.     (This)->lpVtbl -> AddRef(This)
  6111.  
  6112. #define IOverlayNotify_Release(This)    \
  6113.     (This)->lpVtbl -> Release(This)
  6114.  
  6115.  
  6116. #define IOverlayNotify_OnPaletteChange(This,dwColors,pPalette)    \
  6117.     (This)->lpVtbl -> OnPaletteChange(This,dwColors,pPalette)
  6118.  
  6119. #define IOverlayNotify_OnClipChange(This,pSourceRect,pDestinationRect,pRgnData)    \
  6120.     (This)->lpVtbl -> OnClipChange(This,pSourceRect,pDestinationRect,pRgnData)
  6121.  
  6122. #define IOverlayNotify_OnColorKeyChange(This,pColorKey)    \
  6123.     (This)->lpVtbl -> OnColorKeyChange(This,pColorKey)
  6124.  
  6125. #define IOverlayNotify_OnPositionChange(This,pSourceRect,pDestinationRect)    \
  6126.     (This)->lpVtbl -> OnPositionChange(This,pSourceRect,pDestinationRect)
  6127.  
  6128. #endif /* COBJMACROS */
  6129.  
  6130.  
  6131. #endif     /* C style interface */
  6132.  
  6133.  
  6134.  
  6135. HRESULT STDMETHODCALLTYPE IOverlayNotify_OnPaletteChange_Proxy( 
  6136.     IOverlayNotify * This,
  6137.     /* [in] */ DWORD dwColors,
  6138.     /* [in] */ const PALETTEENTRY *pPalette);
  6139.  
  6140.  
  6141. void __RPC_STUB IOverlayNotify_OnPaletteChange_Stub(
  6142.     IRpcStubBuffer *This,
  6143.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6144.     PRPC_MESSAGE _pRpcMessage,
  6145.     DWORD *_pdwStubPhase);
  6146.  
  6147.  
  6148. HRESULT STDMETHODCALLTYPE IOverlayNotify_OnClipChange_Proxy( 
  6149.     IOverlayNotify * This,
  6150.     /* [in] */ const RECT *pSourceRect,
  6151.     /* [in] */ const RECT *pDestinationRect,
  6152.     /* [in] */ const RGNDATA *pRgnData);
  6153.  
  6154.  
  6155. void __RPC_STUB IOverlayNotify_OnClipChange_Stub(
  6156.     IRpcStubBuffer *This,
  6157.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6158.     PRPC_MESSAGE _pRpcMessage,
  6159.     DWORD *_pdwStubPhase);
  6160.  
  6161.  
  6162. HRESULT STDMETHODCALLTYPE IOverlayNotify_OnColorKeyChange_Proxy( 
  6163.     IOverlayNotify * This,
  6164.     /* [in] */ const COLORKEY *pColorKey);
  6165.  
  6166.  
  6167. void __RPC_STUB IOverlayNotify_OnColorKeyChange_Stub(
  6168.     IRpcStubBuffer *This,
  6169.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6170.     PRPC_MESSAGE _pRpcMessage,
  6171.     DWORD *_pdwStubPhase);
  6172.  
  6173.  
  6174. HRESULT STDMETHODCALLTYPE IOverlayNotify_OnPositionChange_Proxy( 
  6175.     IOverlayNotify * This,
  6176.     /* [in] */ const RECT *pSourceRect,
  6177.     /* [in] */ const RECT *pDestinationRect);
  6178.  
  6179.  
  6180. void __RPC_STUB IOverlayNotify_OnPositionChange_Stub(
  6181.     IRpcStubBuffer *This,
  6182.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6183.     PRPC_MESSAGE _pRpcMessage,
  6184.     DWORD *_pdwStubPhase);
  6185.  
  6186.  
  6187.  
  6188. #endif     /* __IOverlayNotify_INTERFACE_DEFINED__ */
  6189.  
  6190.  
  6191. /* interface __MIDL_itf_strmif_0134 */
  6192. /* [local] */ 
  6193.  
  6194. typedef IOverlayNotify *POVERLAYNOTIFY;
  6195.  
  6196. #if !defined(HMONITOR_DECLARED) && !defined(HMONITOR) && (WINVER < 0x0500)
  6197. #define HMONITOR_DECLARED
  6198. #if 0
  6199. typedef HANDLE HMONITOR;
  6200.  
  6201. #endif
  6202. DECLARE_HANDLE(HMONITOR);
  6203. #endif
  6204.  
  6205.  
  6206. extern RPC_IF_HANDLE __MIDL_itf_strmif_0134_v0_0_c_ifspec;
  6207. extern RPC_IF_HANDLE __MIDL_itf_strmif_0134_v0_0_s_ifspec;
  6208.  
  6209. #ifndef __IOverlayNotify2_INTERFACE_DEFINED__
  6210. #define __IOverlayNotify2_INTERFACE_DEFINED__
  6211.  
  6212. /* interface IOverlayNotify2 */
  6213. /* [unique][uuid][local][object] */ 
  6214.  
  6215.  
  6216. EXTERN_C const IID IID_IOverlayNotify2;
  6217.  
  6218. #if defined(__cplusplus) && !defined(CINTERFACE)
  6219.     
  6220.     MIDL_INTERFACE("680EFA10-D535-11D1-87C8-00A0C9223196")
  6221.     IOverlayNotify2 : public IOverlayNotify
  6222.     {
  6223.     public:
  6224.         virtual HRESULT STDMETHODCALLTYPE OnDisplayChange( 
  6225.             HMONITOR hMonitor) = 0;
  6226.         
  6227.     };
  6228.     
  6229. #else     /* C style interface */
  6230.  
  6231.     typedef struct IOverlayNotify2Vtbl
  6232.     {
  6233.         BEGIN_INTERFACE
  6234.         
  6235.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  6236.             IOverlayNotify2 * This,
  6237.             /* [in] */ REFIID riid,
  6238.             /* [iid_is][out] */ void **ppvObject);
  6239.         
  6240.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  6241.             IOverlayNotify2 * This);
  6242.         
  6243.         ULONG ( STDMETHODCALLTYPE *Release )( 
  6244.             IOverlayNotify2 * This);
  6245.         
  6246.         HRESULT ( STDMETHODCALLTYPE *OnPaletteChange )( 
  6247.             IOverlayNotify2 * This,
  6248.             /* [in] */ DWORD dwColors,
  6249.             /* [in] */ const PALETTEENTRY *pPalette);
  6250.         
  6251.         HRESULT ( STDMETHODCALLTYPE *OnClipChange )( 
  6252.             IOverlayNotify2 * This,
  6253.             /* [in] */ const RECT *pSourceRect,
  6254.             /* [in] */ const RECT *pDestinationRect,
  6255.             /* [in] */ const RGNDATA *pRgnData);
  6256.         
  6257.         HRESULT ( STDMETHODCALLTYPE *OnColorKeyChange )( 
  6258.             IOverlayNotify2 * This,
  6259.             /* [in] */ const COLORKEY *pColorKey);
  6260.         
  6261.         HRESULT ( STDMETHODCALLTYPE *OnPositionChange )( 
  6262.             IOverlayNotify2 * This,
  6263.             /* [in] */ const RECT *pSourceRect,
  6264.             /* [in] */ const RECT *pDestinationRect);
  6265.         
  6266.         HRESULT ( STDMETHODCALLTYPE *OnDisplayChange )( 
  6267.             IOverlayNotify2 * This,
  6268.             HMONITOR hMonitor);
  6269.         
  6270.         END_INTERFACE
  6271.     } IOverlayNotify2Vtbl;
  6272.  
  6273.     interface IOverlayNotify2
  6274.     {
  6275.         CONST_VTBL struct IOverlayNotify2Vtbl *lpVtbl;
  6276.     };
  6277.  
  6278.     
  6279.  
  6280. #ifdef COBJMACROS
  6281.  
  6282.  
  6283. #define IOverlayNotify2_QueryInterface(This,riid,ppvObject)    \
  6284.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  6285.  
  6286. #define IOverlayNotify2_AddRef(This)    \
  6287.     (This)->lpVtbl -> AddRef(This)
  6288.  
  6289. #define IOverlayNotify2_Release(This)    \
  6290.     (This)->lpVtbl -> Release(This)
  6291.  
  6292.  
  6293. #define IOverlayNotify2_OnPaletteChange(This,dwColors,pPalette)    \
  6294.     (This)->lpVtbl -> OnPaletteChange(This,dwColors,pPalette)
  6295.  
  6296. #define IOverlayNotify2_OnClipChange(This,pSourceRect,pDestinationRect,pRgnData)    \
  6297.     (This)->lpVtbl -> OnClipChange(This,pSourceRect,pDestinationRect,pRgnData)
  6298.  
  6299. #define IOverlayNotify2_OnColorKeyChange(This,pColorKey)    \
  6300.     (This)->lpVtbl -> OnColorKeyChange(This,pColorKey)
  6301.  
  6302. #define IOverlayNotify2_OnPositionChange(This,pSourceRect,pDestinationRect)    \
  6303.     (This)->lpVtbl -> OnPositionChange(This,pSourceRect,pDestinationRect)
  6304.  
  6305.  
  6306. #define IOverlayNotify2_OnDisplayChange(This,hMonitor)    \
  6307.     (This)->lpVtbl -> OnDisplayChange(This,hMonitor)
  6308.  
  6309. #endif /* COBJMACROS */
  6310.  
  6311.  
  6312. #endif     /* C style interface */
  6313.  
  6314.  
  6315.  
  6316. HRESULT STDMETHODCALLTYPE IOverlayNotify2_OnDisplayChange_Proxy( 
  6317.     IOverlayNotify2 * This,
  6318.     HMONITOR hMonitor);
  6319.  
  6320.  
  6321. void __RPC_STUB IOverlayNotify2_OnDisplayChange_Stub(
  6322.     IRpcStubBuffer *This,
  6323.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6324.     PRPC_MESSAGE _pRpcMessage,
  6325.     DWORD *_pdwStubPhase);
  6326.  
  6327.  
  6328.  
  6329. #endif     /* __IOverlayNotify2_INTERFACE_DEFINED__ */
  6330.  
  6331.  
  6332. /* interface __MIDL_itf_strmif_0135 */
  6333. /* [local] */ 
  6334.  
  6335. typedef IOverlayNotify2 *POVERLAYNOTIFY2;
  6336.  
  6337.  
  6338.  
  6339. extern RPC_IF_HANDLE __MIDL_itf_strmif_0135_v0_0_c_ifspec;
  6340. extern RPC_IF_HANDLE __MIDL_itf_strmif_0135_v0_0_s_ifspec;
  6341.  
  6342. #ifndef __IOverlay_INTERFACE_DEFINED__
  6343. #define __IOverlay_INTERFACE_DEFINED__
  6344.  
  6345. /* interface IOverlay */
  6346. /* [unique][uuid][local][object] */ 
  6347.  
  6348.  
  6349. EXTERN_C const IID IID_IOverlay;
  6350.  
  6351. #if defined(__cplusplus) && !defined(CINTERFACE)
  6352.     
  6353.     MIDL_INTERFACE("56a868a1-0ad4-11ce-b03a-0020af0ba770")
  6354.     IOverlay : public IUnknown
  6355.     {
  6356.     public:
  6357.         virtual HRESULT STDMETHODCALLTYPE GetPalette( 
  6358.             /* [out] */ DWORD *pdwColors,
  6359.             /* [out] */ PALETTEENTRY **ppPalette) = 0;
  6360.         
  6361.         virtual HRESULT STDMETHODCALLTYPE SetPalette( 
  6362.             /* [in] */ DWORD dwColors,
  6363.             /* [in] */ PALETTEENTRY *pPalette) = 0;
  6364.         
  6365.         virtual HRESULT STDMETHODCALLTYPE GetDefaultColorKey( 
  6366.             /* [out] */ COLORKEY *pColorKey) = 0;
  6367.         
  6368.         virtual HRESULT STDMETHODCALLTYPE GetColorKey( 
  6369.             /* [out] */ COLORKEY *pColorKey) = 0;
  6370.         
  6371.         virtual HRESULT STDMETHODCALLTYPE SetColorKey( 
  6372.             /* [out][in] */ COLORKEY *pColorKey) = 0;
  6373.         
  6374.         virtual HRESULT STDMETHODCALLTYPE GetWindowHandle( 
  6375.             /* [out] */ HWND *pHwnd) = 0;
  6376.         
  6377.         virtual HRESULT STDMETHODCALLTYPE GetClipList( 
  6378.             /* [out] */ RECT *pSourceRect,
  6379.             /* [out] */ RECT *pDestinationRect,
  6380.             /* [out] */ RGNDATA **ppRgnData) = 0;
  6381.         
  6382.         virtual HRESULT STDMETHODCALLTYPE GetVideoPosition( 
  6383.             /* [out] */ RECT *pSourceRect,
  6384.             /* [out] */ RECT *pDestinationRect) = 0;
  6385.         
  6386.         virtual HRESULT STDMETHODCALLTYPE Advise( 
  6387.             /* [in] */ IOverlayNotify *pOverlayNotify,
  6388.             /* [in] */ DWORD dwInterests) = 0;
  6389.         
  6390.         virtual HRESULT STDMETHODCALLTYPE Unadvise( void) = 0;
  6391.         
  6392.     };
  6393.     
  6394. #else     /* C style interface */
  6395.  
  6396.     typedef struct IOverlayVtbl
  6397.     {
  6398.         BEGIN_INTERFACE
  6399.         
  6400.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  6401.             IOverlay * This,
  6402.             /* [in] */ REFIID riid,
  6403.             /* [iid_is][out] */ void **ppvObject);
  6404.         
  6405.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  6406.             IOverlay * This);
  6407.         
  6408.         ULONG ( STDMETHODCALLTYPE *Release )( 
  6409.             IOverlay * This);
  6410.         
  6411.         HRESULT ( STDMETHODCALLTYPE *GetPalette )( 
  6412.             IOverlay * This,
  6413.             /* [out] */ DWORD *pdwColors,
  6414.             /* [out] */ PALETTEENTRY **ppPalette);
  6415.         
  6416.         HRESULT ( STDMETHODCALLTYPE *SetPalette )( 
  6417.             IOverlay * This,
  6418.             /* [in] */ DWORD dwColors,
  6419.             /* [in] */ PALETTEENTRY *pPalette);
  6420.         
  6421.         HRESULT ( STDMETHODCALLTYPE *GetDefaultColorKey )( 
  6422.             IOverlay * This,
  6423.             /* [out] */ COLORKEY *pColorKey);
  6424.         
  6425.         HRESULT ( STDMETHODCALLTYPE *GetColorKey )( 
  6426.             IOverlay * This,
  6427.             /* [out] */ COLORKEY *pColorKey);
  6428.         
  6429.         HRESULT ( STDMETHODCALLTYPE *SetColorKey )( 
  6430.             IOverlay * This,
  6431.             /* [out][in] */ COLORKEY *pColorKey);
  6432.         
  6433.         HRESULT ( STDMETHODCALLTYPE *GetWindowHandle )( 
  6434.             IOverlay * This,
  6435.             /* [out] */ HWND *pHwnd);
  6436.         
  6437.         HRESULT ( STDMETHODCALLTYPE *GetClipList )( 
  6438.             IOverlay * This,
  6439.             /* [out] */ RECT *pSourceRect,
  6440.             /* [out] */ RECT *pDestinationRect,
  6441.             /* [out] */ RGNDATA **ppRgnData);
  6442.         
  6443.         HRESULT ( STDMETHODCALLTYPE *GetVideoPosition )( 
  6444.             IOverlay * This,
  6445.             /* [out] */ RECT *pSourceRect,
  6446.             /* [out] */ RECT *pDestinationRect);
  6447.         
  6448.         HRESULT ( STDMETHODCALLTYPE *Advise )( 
  6449.             IOverlay * This,
  6450.             /* [in] */ IOverlayNotify *pOverlayNotify,
  6451.             /* [in] */ DWORD dwInterests);
  6452.         
  6453.         HRESULT ( STDMETHODCALLTYPE *Unadvise )( 
  6454.             IOverlay * This);
  6455.         
  6456.         END_INTERFACE
  6457.     } IOverlayVtbl;
  6458.  
  6459.     interface IOverlay
  6460.     {
  6461.         CONST_VTBL struct IOverlayVtbl *lpVtbl;
  6462.     };
  6463.  
  6464.     
  6465.  
  6466. #ifdef COBJMACROS
  6467.  
  6468.  
  6469. #define IOverlay_QueryInterface(This,riid,ppvObject)    \
  6470.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  6471.  
  6472. #define IOverlay_AddRef(This)    \
  6473.     (This)->lpVtbl -> AddRef(This)
  6474.  
  6475. #define IOverlay_Release(This)    \
  6476.     (This)->lpVtbl -> Release(This)
  6477.  
  6478.  
  6479. #define IOverlay_GetPalette(This,pdwColors,ppPalette)    \
  6480.     (This)->lpVtbl -> GetPalette(This,pdwColors,ppPalette)
  6481.  
  6482. #define IOverlay_SetPalette(This,dwColors,pPalette)    \
  6483.     (This)->lpVtbl -> SetPalette(This,dwColors,pPalette)
  6484.  
  6485. #define IOverlay_GetDefaultColorKey(This,pColorKey)    \
  6486.     (This)->lpVtbl -> GetDefaultColorKey(This,pColorKey)
  6487.  
  6488. #define IOverlay_GetColorKey(This,pColorKey)    \
  6489.     (This)->lpVtbl -> GetColorKey(This,pColorKey)
  6490.  
  6491. #define IOverlay_SetColorKey(This,pColorKey)    \
  6492.     (This)->lpVtbl -> SetColorKey(This,pColorKey)
  6493.  
  6494. #define IOverlay_GetWindowHandle(This,pHwnd)    \
  6495.     (This)->lpVtbl -> GetWindowHandle(This,pHwnd)
  6496.  
  6497. #define IOverlay_GetClipList(This,pSourceRect,pDestinationRect,ppRgnData)    \
  6498.     (This)->lpVtbl -> GetClipList(This,pSourceRect,pDestinationRect,ppRgnData)
  6499.  
  6500. #define IOverlay_GetVideoPosition(This,pSourceRect,pDestinationRect)    \
  6501.     (This)->lpVtbl -> GetVideoPosition(This,pSourceRect,pDestinationRect)
  6502.  
  6503. #define IOverlay_Advise(This,pOverlayNotify,dwInterests)    \
  6504.     (This)->lpVtbl -> Advise(This,pOverlayNotify,dwInterests)
  6505.  
  6506. #define IOverlay_Unadvise(This)    \
  6507.     (This)->lpVtbl -> Unadvise(This)
  6508.  
  6509. #endif /* COBJMACROS */
  6510.  
  6511.  
  6512. #endif     /* C style interface */
  6513.  
  6514.  
  6515.  
  6516. HRESULT STDMETHODCALLTYPE IOverlay_GetPalette_Proxy( 
  6517.     IOverlay * This,
  6518.     /* [out] */ DWORD *pdwColors,
  6519.     /* [out] */ PALETTEENTRY **ppPalette);
  6520.  
  6521.  
  6522. void __RPC_STUB IOverlay_GetPalette_Stub(
  6523.     IRpcStubBuffer *This,
  6524.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6525.     PRPC_MESSAGE _pRpcMessage,
  6526.     DWORD *_pdwStubPhase);
  6527.  
  6528.  
  6529. HRESULT STDMETHODCALLTYPE IOverlay_SetPalette_Proxy( 
  6530.     IOverlay * This,
  6531.     /* [in] */ DWORD dwColors,
  6532.     /* [in] */ PALETTEENTRY *pPalette);
  6533.  
  6534.  
  6535. void __RPC_STUB IOverlay_SetPalette_Stub(
  6536.     IRpcStubBuffer *This,
  6537.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6538.     PRPC_MESSAGE _pRpcMessage,
  6539.     DWORD *_pdwStubPhase);
  6540.  
  6541.  
  6542. HRESULT STDMETHODCALLTYPE IOverlay_GetDefaultColorKey_Proxy( 
  6543.     IOverlay * This,
  6544.     /* [out] */ COLORKEY *pColorKey);
  6545.  
  6546.  
  6547. void __RPC_STUB IOverlay_GetDefaultColorKey_Stub(
  6548.     IRpcStubBuffer *This,
  6549.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6550.     PRPC_MESSAGE _pRpcMessage,
  6551.     DWORD *_pdwStubPhase);
  6552.  
  6553.  
  6554. HRESULT STDMETHODCALLTYPE IOverlay_GetColorKey_Proxy( 
  6555.     IOverlay * This,
  6556.     /* [out] */ COLORKEY *pColorKey);
  6557.  
  6558.  
  6559. void __RPC_STUB IOverlay_GetColorKey_Stub(
  6560.     IRpcStubBuffer *This,
  6561.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6562.     PRPC_MESSAGE _pRpcMessage,
  6563.     DWORD *_pdwStubPhase);
  6564.  
  6565.  
  6566. HRESULT STDMETHODCALLTYPE IOverlay_SetColorKey_Proxy( 
  6567.     IOverlay * This,
  6568.     /* [out][in] */ COLORKEY *pColorKey);
  6569.  
  6570.  
  6571. void __RPC_STUB IOverlay_SetColorKey_Stub(
  6572.     IRpcStubBuffer *This,
  6573.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6574.     PRPC_MESSAGE _pRpcMessage,
  6575.     DWORD *_pdwStubPhase);
  6576.  
  6577.  
  6578. HRESULT STDMETHODCALLTYPE IOverlay_GetWindowHandle_Proxy( 
  6579.     IOverlay * This,
  6580.     /* [out] */ HWND *pHwnd);
  6581.  
  6582.  
  6583. void __RPC_STUB IOverlay_GetWindowHandle_Stub(
  6584.     IRpcStubBuffer *This,
  6585.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6586.     PRPC_MESSAGE _pRpcMessage,
  6587.     DWORD *_pdwStubPhase);
  6588.  
  6589.  
  6590. HRESULT STDMETHODCALLTYPE IOverlay_GetClipList_Proxy( 
  6591.     IOverlay * This,
  6592.     /* [out] */ RECT *pSourceRect,
  6593.     /* [out] */ RECT *pDestinationRect,
  6594.     /* [out] */ RGNDATA **ppRgnData);
  6595.  
  6596.  
  6597. void __RPC_STUB IOverlay_GetClipList_Stub(
  6598.     IRpcStubBuffer *This,
  6599.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6600.     PRPC_MESSAGE _pRpcMessage,
  6601.     DWORD *_pdwStubPhase);
  6602.  
  6603.  
  6604. HRESULT STDMETHODCALLTYPE IOverlay_GetVideoPosition_Proxy( 
  6605.     IOverlay * This,
  6606.     /* [out] */ RECT *pSourceRect,
  6607.     /* [out] */ RECT *pDestinationRect);
  6608.  
  6609.  
  6610. void __RPC_STUB IOverlay_GetVideoPosition_Stub(
  6611.     IRpcStubBuffer *This,
  6612.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6613.     PRPC_MESSAGE _pRpcMessage,
  6614.     DWORD *_pdwStubPhase);
  6615.  
  6616.  
  6617. HRESULT STDMETHODCALLTYPE IOverlay_Advise_Proxy( 
  6618.     IOverlay * This,
  6619.     /* [in] */ IOverlayNotify *pOverlayNotify,
  6620.     /* [in] */ DWORD dwInterests);
  6621.  
  6622.  
  6623. void __RPC_STUB IOverlay_Advise_Stub(
  6624.     IRpcStubBuffer *This,
  6625.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6626.     PRPC_MESSAGE _pRpcMessage,
  6627.     DWORD *_pdwStubPhase);
  6628.  
  6629.  
  6630. HRESULT STDMETHODCALLTYPE IOverlay_Unadvise_Proxy( 
  6631.     IOverlay * This);
  6632.  
  6633.  
  6634. void __RPC_STUB IOverlay_Unadvise_Stub(
  6635.     IRpcStubBuffer *This,
  6636.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6637.     PRPC_MESSAGE _pRpcMessage,
  6638.     DWORD *_pdwStubPhase);
  6639.  
  6640.  
  6641.  
  6642. #endif     /* __IOverlay_INTERFACE_DEFINED__ */
  6643.  
  6644.  
  6645. /* interface __MIDL_itf_strmif_0136 */
  6646. /* [local] */ 
  6647.  
  6648. typedef IOverlay *POVERLAY;
  6649.  
  6650.  
  6651.  
  6652. extern RPC_IF_HANDLE __MIDL_itf_strmif_0136_v0_0_c_ifspec;
  6653. extern RPC_IF_HANDLE __MIDL_itf_strmif_0136_v0_0_s_ifspec;
  6654.  
  6655. #ifndef __IMediaEventSink_INTERFACE_DEFINED__
  6656. #define __IMediaEventSink_INTERFACE_DEFINED__
  6657.  
  6658. /* interface IMediaEventSink */
  6659. /* [unique][uuid][object] */ 
  6660.  
  6661.  
  6662. EXTERN_C const IID IID_IMediaEventSink;
  6663.  
  6664. #if defined(__cplusplus) && !defined(CINTERFACE)
  6665.     
  6666.     MIDL_INTERFACE("56a868a2-0ad4-11ce-b03a-0020af0ba770")
  6667.     IMediaEventSink : public IUnknown
  6668.     {
  6669.     public:
  6670.         virtual HRESULT STDMETHODCALLTYPE Notify( 
  6671.             /* [in] */ long EventCode,
  6672.             /* [in] */ LONG_PTR EventParam1,
  6673.             /* [in] */ LONG_PTR EventParam2) = 0;
  6674.         
  6675.     };
  6676.     
  6677. #else     /* C style interface */
  6678.  
  6679.     typedef struct IMediaEventSinkVtbl
  6680.     {
  6681.         BEGIN_INTERFACE
  6682.         
  6683.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  6684.             IMediaEventSink * This,
  6685.             /* [in] */ REFIID riid,
  6686.             /* [iid_is][out] */ void **ppvObject);
  6687.         
  6688.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  6689.             IMediaEventSink * This);
  6690.         
  6691.         ULONG ( STDMETHODCALLTYPE *Release )( 
  6692.             IMediaEventSink * This);
  6693.         
  6694.         HRESULT ( STDMETHODCALLTYPE *Notify )( 
  6695.             IMediaEventSink * This,
  6696.             /* [in] */ long EventCode,
  6697.             /* [in] */ LONG_PTR EventParam1,
  6698.             /* [in] */ LONG_PTR EventParam2);
  6699.         
  6700.         END_INTERFACE
  6701.     } IMediaEventSinkVtbl;
  6702.  
  6703.     interface IMediaEventSink
  6704.     {
  6705.         CONST_VTBL struct IMediaEventSinkVtbl *lpVtbl;
  6706.     };
  6707.  
  6708.     
  6709.  
  6710. #ifdef COBJMACROS
  6711.  
  6712.  
  6713. #define IMediaEventSink_QueryInterface(This,riid,ppvObject)    \
  6714.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  6715.  
  6716. #define IMediaEventSink_AddRef(This)    \
  6717.     (This)->lpVtbl -> AddRef(This)
  6718.  
  6719. #define IMediaEventSink_Release(This)    \
  6720.     (This)->lpVtbl -> Release(This)
  6721.  
  6722.  
  6723. #define IMediaEventSink_Notify(This,EventCode,EventParam1,EventParam2)    \
  6724.     (This)->lpVtbl -> Notify(This,EventCode,EventParam1,EventParam2)
  6725.  
  6726. #endif /* COBJMACROS */
  6727.  
  6728.  
  6729. #endif     /* C style interface */
  6730.  
  6731.  
  6732.  
  6733. HRESULT STDMETHODCALLTYPE IMediaEventSink_Notify_Proxy( 
  6734.     IMediaEventSink * This,
  6735.     /* [in] */ long EventCode,
  6736.     /* [in] */ LONG_PTR EventParam1,
  6737.     /* [in] */ LONG_PTR EventParam2);
  6738.  
  6739.  
  6740. void __RPC_STUB IMediaEventSink_Notify_Stub(
  6741.     IRpcStubBuffer *This,
  6742.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6743.     PRPC_MESSAGE _pRpcMessage,
  6744.     DWORD *_pdwStubPhase);
  6745.  
  6746.  
  6747.  
  6748. #endif     /* __IMediaEventSink_INTERFACE_DEFINED__ */
  6749.  
  6750.  
  6751. /* interface __MIDL_itf_strmif_0137 */
  6752. /* [local] */ 
  6753.  
  6754. typedef IMediaEventSink *PMEDIAEVENTSINK;
  6755.  
  6756.  
  6757.  
  6758. extern RPC_IF_HANDLE __MIDL_itf_strmif_0137_v0_0_c_ifspec;
  6759. extern RPC_IF_HANDLE __MIDL_itf_strmif_0137_v0_0_s_ifspec;
  6760.  
  6761. #ifndef __IFileSourceFilter_INTERFACE_DEFINED__
  6762. #define __IFileSourceFilter_INTERFACE_DEFINED__
  6763.  
  6764. /* interface IFileSourceFilter */
  6765. /* [unique][uuid][object] */ 
  6766.  
  6767.  
  6768. EXTERN_C const IID IID_IFileSourceFilter;
  6769.  
  6770. #if defined(__cplusplus) && !defined(CINTERFACE)
  6771.     
  6772.     MIDL_INTERFACE("56a868a6-0ad4-11ce-b03a-0020af0ba770")
  6773.     IFileSourceFilter : public IUnknown
  6774.     {
  6775.     public:
  6776.         virtual HRESULT STDMETHODCALLTYPE Load( 
  6777.             /* [in] */ LPCOLESTR pszFileName,
  6778.             /* [unique][in] */ const AM_MEDIA_TYPE *pmt) = 0;
  6779.         
  6780.         virtual HRESULT STDMETHODCALLTYPE GetCurFile( 
  6781.             /* [out] */ LPOLESTR *ppszFileName,
  6782.             /* [out] */ AM_MEDIA_TYPE *pmt) = 0;
  6783.         
  6784.     };
  6785.     
  6786. #else     /* C style interface */
  6787.  
  6788.     typedef struct IFileSourceFilterVtbl
  6789.     {
  6790.         BEGIN_INTERFACE
  6791.         
  6792.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  6793.             IFileSourceFilter * This,
  6794.             /* [in] */ REFIID riid,
  6795.             /* [iid_is][out] */ void **ppvObject);
  6796.         
  6797.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  6798.             IFileSourceFilter * This);
  6799.         
  6800.         ULONG ( STDMETHODCALLTYPE *Release )( 
  6801.             IFileSourceFilter * This);
  6802.         
  6803.         HRESULT ( STDMETHODCALLTYPE *Load )( 
  6804.             IFileSourceFilter * This,
  6805.             /* [in] */ LPCOLESTR pszFileName,
  6806.             /* [unique][in] */ const AM_MEDIA_TYPE *pmt);
  6807.         
  6808.         HRESULT ( STDMETHODCALLTYPE *GetCurFile )( 
  6809.             IFileSourceFilter * This,
  6810.             /* [out] */ LPOLESTR *ppszFileName,
  6811.             /* [out] */ AM_MEDIA_TYPE *pmt);
  6812.         
  6813.         END_INTERFACE
  6814.     } IFileSourceFilterVtbl;
  6815.  
  6816.     interface IFileSourceFilter
  6817.     {
  6818.         CONST_VTBL struct IFileSourceFilterVtbl *lpVtbl;
  6819.     };
  6820.  
  6821.     
  6822.  
  6823. #ifdef COBJMACROS
  6824.  
  6825.  
  6826. #define IFileSourceFilter_QueryInterface(This,riid,ppvObject)    \
  6827.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  6828.  
  6829. #define IFileSourceFilter_AddRef(This)    \
  6830.     (This)->lpVtbl -> AddRef(This)
  6831.  
  6832. #define IFileSourceFilter_Release(This)    \
  6833.     (This)->lpVtbl -> Release(This)
  6834.  
  6835.  
  6836. #define IFileSourceFilter_Load(This,pszFileName,pmt)    \
  6837.     (This)->lpVtbl -> Load(This,pszFileName,pmt)
  6838.  
  6839. #define IFileSourceFilter_GetCurFile(This,ppszFileName,pmt)    \
  6840.     (This)->lpVtbl -> GetCurFile(This,ppszFileName,pmt)
  6841.  
  6842. #endif /* COBJMACROS */
  6843.  
  6844.  
  6845. #endif     /* C style interface */
  6846.  
  6847.  
  6848.  
  6849. HRESULT STDMETHODCALLTYPE IFileSourceFilter_Load_Proxy( 
  6850.     IFileSourceFilter * This,
  6851.     /* [in] */ LPCOLESTR pszFileName,
  6852.     /* [unique][in] */ const AM_MEDIA_TYPE *pmt);
  6853.  
  6854.  
  6855. void __RPC_STUB IFileSourceFilter_Load_Stub(
  6856.     IRpcStubBuffer *This,
  6857.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6858.     PRPC_MESSAGE _pRpcMessage,
  6859.     DWORD *_pdwStubPhase);
  6860.  
  6861.  
  6862. HRESULT STDMETHODCALLTYPE IFileSourceFilter_GetCurFile_Proxy( 
  6863.     IFileSourceFilter * This,
  6864.     /* [out] */ LPOLESTR *ppszFileName,
  6865.     /* [out] */ AM_MEDIA_TYPE *pmt);
  6866.  
  6867.  
  6868. void __RPC_STUB IFileSourceFilter_GetCurFile_Stub(
  6869.     IRpcStubBuffer *This,
  6870.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6871.     PRPC_MESSAGE _pRpcMessage,
  6872.     DWORD *_pdwStubPhase);
  6873.  
  6874.  
  6875.  
  6876. #endif     /* __IFileSourceFilter_INTERFACE_DEFINED__ */
  6877.  
  6878.  
  6879. /* interface __MIDL_itf_strmif_0138 */
  6880. /* [local] */ 
  6881.  
  6882. typedef IFileSourceFilter *PFILTERFILESOURCE;
  6883.  
  6884.  
  6885.  
  6886. extern RPC_IF_HANDLE __MIDL_itf_strmif_0138_v0_0_c_ifspec;
  6887. extern RPC_IF_HANDLE __MIDL_itf_strmif_0138_v0_0_s_ifspec;
  6888.  
  6889. #ifndef __IFileSinkFilter_INTERFACE_DEFINED__
  6890. #define __IFileSinkFilter_INTERFACE_DEFINED__
  6891.  
  6892. /* interface IFileSinkFilter */
  6893. /* [unique][uuid][object] */ 
  6894.  
  6895.  
  6896. EXTERN_C const IID IID_IFileSinkFilter;
  6897.  
  6898. #if defined(__cplusplus) && !defined(CINTERFACE)
  6899.     
  6900.     MIDL_INTERFACE("a2104830-7c70-11cf-8bce-00aa00a3f1a6")
  6901.     IFileSinkFilter : public IUnknown
  6902.     {
  6903.     public:
  6904.         virtual HRESULT STDMETHODCALLTYPE SetFileName( 
  6905.             /* [in] */ LPCOLESTR pszFileName,
  6906.             /* [unique][in] */ const AM_MEDIA_TYPE *pmt) = 0;
  6907.         
  6908.         virtual HRESULT STDMETHODCALLTYPE GetCurFile( 
  6909.             /* [out] */ LPOLESTR *ppszFileName,
  6910.             /* [out] */ AM_MEDIA_TYPE *pmt) = 0;
  6911.         
  6912.     };
  6913.     
  6914. #else     /* C style interface */
  6915.  
  6916.     typedef struct IFileSinkFilterVtbl
  6917.     {
  6918.         BEGIN_INTERFACE
  6919.         
  6920.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  6921.             IFileSinkFilter * This,
  6922.             /* [in] */ REFIID riid,
  6923.             /* [iid_is][out] */ void **ppvObject);
  6924.         
  6925.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  6926.             IFileSinkFilter * This);
  6927.         
  6928.         ULONG ( STDMETHODCALLTYPE *Release )( 
  6929.             IFileSinkFilter * This);
  6930.         
  6931.         HRESULT ( STDMETHODCALLTYPE *SetFileName )( 
  6932.             IFileSinkFilter * This,
  6933.             /* [in] */ LPCOLESTR pszFileName,
  6934.             /* [unique][in] */ const AM_MEDIA_TYPE *pmt);
  6935.         
  6936.         HRESULT ( STDMETHODCALLTYPE *GetCurFile )( 
  6937.             IFileSinkFilter * This,
  6938.             /* [out] */ LPOLESTR *ppszFileName,
  6939.             /* [out] */ AM_MEDIA_TYPE *pmt);
  6940.         
  6941.         END_INTERFACE
  6942.     } IFileSinkFilterVtbl;
  6943.  
  6944.     interface IFileSinkFilter
  6945.     {
  6946.         CONST_VTBL struct IFileSinkFilterVtbl *lpVtbl;
  6947.     };
  6948.  
  6949.     
  6950.  
  6951. #ifdef COBJMACROS
  6952.  
  6953.  
  6954. #define IFileSinkFilter_QueryInterface(This,riid,ppvObject)    \
  6955.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  6956.  
  6957. #define IFileSinkFilter_AddRef(This)    \
  6958.     (This)->lpVtbl -> AddRef(This)
  6959.  
  6960. #define IFileSinkFilter_Release(This)    \
  6961.     (This)->lpVtbl -> Release(This)
  6962.  
  6963.  
  6964. #define IFileSinkFilter_SetFileName(This,pszFileName,pmt)    \
  6965.     (This)->lpVtbl -> SetFileName(This,pszFileName,pmt)
  6966.  
  6967. #define IFileSinkFilter_GetCurFile(This,ppszFileName,pmt)    \
  6968.     (This)->lpVtbl -> GetCurFile(This,ppszFileName,pmt)
  6969.  
  6970. #endif /* COBJMACROS */
  6971.  
  6972.  
  6973. #endif     /* C style interface */
  6974.  
  6975.  
  6976.  
  6977. HRESULT STDMETHODCALLTYPE IFileSinkFilter_SetFileName_Proxy( 
  6978.     IFileSinkFilter * This,
  6979.     /* [in] */ LPCOLESTR pszFileName,
  6980.     /* [unique][in] */ const AM_MEDIA_TYPE *pmt);
  6981.  
  6982.  
  6983. void __RPC_STUB IFileSinkFilter_SetFileName_Stub(
  6984.     IRpcStubBuffer *This,
  6985.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6986.     PRPC_MESSAGE _pRpcMessage,
  6987.     DWORD *_pdwStubPhase);
  6988.  
  6989.  
  6990. HRESULT STDMETHODCALLTYPE IFileSinkFilter_GetCurFile_Proxy( 
  6991.     IFileSinkFilter * This,
  6992.     /* [out] */ LPOLESTR *ppszFileName,
  6993.     /* [out] */ AM_MEDIA_TYPE *pmt);
  6994.  
  6995.  
  6996. void __RPC_STUB IFileSinkFilter_GetCurFile_Stub(
  6997.     IRpcStubBuffer *This,
  6998.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6999.     PRPC_MESSAGE _pRpcMessage,
  7000.     DWORD *_pdwStubPhase);
  7001.  
  7002.  
  7003.  
  7004. #endif     /* __IFileSinkFilter_INTERFACE_DEFINED__ */
  7005.  
  7006.  
  7007. /* interface __MIDL_itf_strmif_0139 */
  7008. /* [local] */ 
  7009.  
  7010. typedef IFileSinkFilter *PFILTERFILESINK;
  7011.  
  7012.  
  7013.  
  7014. extern RPC_IF_HANDLE __MIDL_itf_strmif_0139_v0_0_c_ifspec;
  7015. extern RPC_IF_HANDLE __MIDL_itf_strmif_0139_v0_0_s_ifspec;
  7016.  
  7017. #ifndef __IFileSinkFilter2_INTERFACE_DEFINED__
  7018. #define __IFileSinkFilter2_INTERFACE_DEFINED__
  7019.  
  7020. /* interface IFileSinkFilter2 */
  7021. /* [unique][uuid][object] */ 
  7022.  
  7023.  
  7024. EXTERN_C const IID IID_IFileSinkFilter2;
  7025.  
  7026. #if defined(__cplusplus) && !defined(CINTERFACE)
  7027.     
  7028.     MIDL_INTERFACE("00855B90-CE1B-11d0-BD4F-00A0C911CE86")
  7029.     IFileSinkFilter2 : public IFileSinkFilter
  7030.     {
  7031.     public:
  7032.         virtual HRESULT STDMETHODCALLTYPE SetMode( 
  7033.             /* [in] */ DWORD dwFlags) = 0;
  7034.         
  7035.         virtual HRESULT STDMETHODCALLTYPE GetMode( 
  7036.             /* [out] */ DWORD *pdwFlags) = 0;
  7037.         
  7038.     };
  7039.     
  7040. #else     /* C style interface */
  7041.  
  7042.     typedef struct IFileSinkFilter2Vtbl
  7043.     {
  7044.         BEGIN_INTERFACE
  7045.         
  7046.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  7047.             IFileSinkFilter2 * This,
  7048.             /* [in] */ REFIID riid,
  7049.             /* [iid_is][out] */ void **ppvObject);
  7050.         
  7051.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  7052.             IFileSinkFilter2 * This);
  7053.         
  7054.         ULONG ( STDMETHODCALLTYPE *Release )( 
  7055.             IFileSinkFilter2 * This);
  7056.         
  7057.         HRESULT ( STDMETHODCALLTYPE *SetFileName )( 
  7058.             IFileSinkFilter2 * This,
  7059.             /* [in] */ LPCOLESTR pszFileName,
  7060.             /* [unique][in] */ const AM_MEDIA_TYPE *pmt);
  7061.         
  7062.         HRESULT ( STDMETHODCALLTYPE *GetCurFile )( 
  7063.             IFileSinkFilter2 * This,
  7064.             /* [out] */ LPOLESTR *ppszFileName,
  7065.             /* [out] */ AM_MEDIA_TYPE *pmt);
  7066.         
  7067.         HRESULT ( STDMETHODCALLTYPE *SetMode )( 
  7068.             IFileSinkFilter2 * This,
  7069.             /* [in] */ DWORD dwFlags);
  7070.         
  7071.         HRESULT ( STDMETHODCALLTYPE *GetMode )( 
  7072.             IFileSinkFilter2 * This,
  7073.             /* [out] */ DWORD *pdwFlags);
  7074.         
  7075.         END_INTERFACE
  7076.     } IFileSinkFilter2Vtbl;
  7077.  
  7078.     interface IFileSinkFilter2
  7079.     {
  7080.         CONST_VTBL struct IFileSinkFilter2Vtbl *lpVtbl;
  7081.     };
  7082.  
  7083.     
  7084.  
  7085. #ifdef COBJMACROS
  7086.  
  7087.  
  7088. #define IFileSinkFilter2_QueryInterface(This,riid,ppvObject)    \
  7089.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  7090.  
  7091. #define IFileSinkFilter2_AddRef(This)    \
  7092.     (This)->lpVtbl -> AddRef(This)
  7093.  
  7094. #define IFileSinkFilter2_Release(This)    \
  7095.     (This)->lpVtbl -> Release(This)
  7096.  
  7097.  
  7098. #define IFileSinkFilter2_SetFileName(This,pszFileName,pmt)    \
  7099.     (This)->lpVtbl -> SetFileName(This,pszFileName,pmt)
  7100.  
  7101. #define IFileSinkFilter2_GetCurFile(This,ppszFileName,pmt)    \
  7102.     (This)->lpVtbl -> GetCurFile(This,ppszFileName,pmt)
  7103.  
  7104.  
  7105. #define IFileSinkFilter2_SetMode(This,dwFlags)    \
  7106.     (This)->lpVtbl -> SetMode(This,dwFlags)
  7107.  
  7108. #define IFileSinkFilter2_GetMode(This,pdwFlags)    \
  7109.     (This)->lpVtbl -> GetMode(This,pdwFlags)
  7110.  
  7111. #endif /* COBJMACROS */
  7112.  
  7113.  
  7114. #endif     /* C style interface */
  7115.  
  7116.  
  7117.  
  7118. HRESULT STDMETHODCALLTYPE IFileSinkFilter2_SetMode_Proxy( 
  7119.     IFileSinkFilter2 * This,
  7120.     /* [in] */ DWORD dwFlags);
  7121.  
  7122.  
  7123. void __RPC_STUB IFileSinkFilter2_SetMode_Stub(
  7124.     IRpcStubBuffer *This,
  7125.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7126.     PRPC_MESSAGE _pRpcMessage,
  7127.     DWORD *_pdwStubPhase);
  7128.  
  7129.  
  7130. HRESULT STDMETHODCALLTYPE IFileSinkFilter2_GetMode_Proxy( 
  7131.     IFileSinkFilter2 * This,
  7132.     /* [out] */ DWORD *pdwFlags);
  7133.  
  7134.  
  7135. void __RPC_STUB IFileSinkFilter2_GetMode_Stub(
  7136.     IRpcStubBuffer *This,
  7137.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7138.     PRPC_MESSAGE _pRpcMessage,
  7139.     DWORD *_pdwStubPhase);
  7140.  
  7141.  
  7142.  
  7143. #endif     /* __IFileSinkFilter2_INTERFACE_DEFINED__ */
  7144.  
  7145.  
  7146. /* interface __MIDL_itf_strmif_0140 */
  7147. /* [local] */ 
  7148.  
  7149. typedef IFileSinkFilter2 *PFILESINKFILTER2;
  7150.  
  7151. typedef /* [public] */ 
  7152. enum __MIDL___MIDL_itf_strmif_0140_0001
  7153.     {    AM_FILE_OVERWRITE    = 0x1
  7154.     }     AM_FILESINK_FLAGS;
  7155.  
  7156.  
  7157.  
  7158. extern RPC_IF_HANDLE __MIDL_itf_strmif_0140_v0_0_c_ifspec;
  7159. extern RPC_IF_HANDLE __MIDL_itf_strmif_0140_v0_0_s_ifspec;
  7160.  
  7161. #ifndef __IGraphBuilder_INTERFACE_DEFINED__
  7162. #define __IGraphBuilder_INTERFACE_DEFINED__
  7163.  
  7164. /* interface IGraphBuilder */
  7165. /* [unique][uuid][object] */ 
  7166.  
  7167.  
  7168. EXTERN_C const IID IID_IGraphBuilder;
  7169.  
  7170. #if defined(__cplusplus) && !defined(CINTERFACE)
  7171.     
  7172.     MIDL_INTERFACE("56a868a9-0ad4-11ce-b03a-0020af0ba770")
  7173.     IGraphBuilder : public IFilterGraph
  7174.     {
  7175.     public:
  7176.         virtual HRESULT STDMETHODCALLTYPE Connect( 
  7177.             /* [in] */ IPin *ppinOut,
  7178.             /* [in] */ IPin *ppinIn) = 0;
  7179.         
  7180.         virtual HRESULT STDMETHODCALLTYPE Render( 
  7181.             /* [in] */ IPin *ppinOut) = 0;
  7182.         
  7183.         virtual HRESULT STDMETHODCALLTYPE RenderFile( 
  7184.             /* [in] */ LPCWSTR lpcwstrFile,
  7185.             /* [unique][in] */ LPCWSTR lpcwstrPlayList) = 0;
  7186.         
  7187.         virtual HRESULT STDMETHODCALLTYPE AddSourceFilter( 
  7188.             /* [in] */ LPCWSTR lpcwstrFileName,
  7189.             /* [unique][in] */ LPCWSTR lpcwstrFilterName,
  7190.             /* [out] */ IBaseFilter **ppFilter) = 0;
  7191.         
  7192.         virtual HRESULT STDMETHODCALLTYPE SetLogFile( 
  7193.             /* [in] */ DWORD_PTR hFile) = 0;
  7194.         
  7195.         virtual HRESULT STDMETHODCALLTYPE Abort( void) = 0;
  7196.         
  7197.         virtual HRESULT STDMETHODCALLTYPE ShouldOperationContinue( void) = 0;
  7198.         
  7199.     };
  7200.     
  7201. #else     /* C style interface */
  7202.  
  7203.     typedef struct IGraphBuilderVtbl
  7204.     {
  7205.         BEGIN_INTERFACE
  7206.         
  7207.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  7208.             IGraphBuilder * This,
  7209.             /* [in] */ REFIID riid,
  7210.             /* [iid_is][out] */ void **ppvObject);
  7211.         
  7212.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  7213.             IGraphBuilder * This);
  7214.         
  7215.         ULONG ( STDMETHODCALLTYPE *Release )( 
  7216.             IGraphBuilder * This);
  7217.         
  7218.         HRESULT ( STDMETHODCALLTYPE *AddFilter )( 
  7219.             IGraphBuilder * This,
  7220.             /* [in] */ IBaseFilter *pFilter,
  7221.             /* [string][in] */ LPCWSTR pName);
  7222.         
  7223.         HRESULT ( STDMETHODCALLTYPE *RemoveFilter )( 
  7224.             IGraphBuilder * This,
  7225.             /* [in] */ IBaseFilter *pFilter);
  7226.         
  7227.         HRESULT ( STDMETHODCALLTYPE *EnumFilters )( 
  7228.             IGraphBuilder * This,
  7229.             /* [out] */ IEnumFilters **ppEnum);
  7230.         
  7231.         HRESULT ( STDMETHODCALLTYPE *FindFilterByName )( 
  7232.             IGraphBuilder * This,
  7233.             /* [string][in] */ LPCWSTR pName,
  7234.             /* [out] */ IBaseFilter **ppFilter);
  7235.         
  7236.         HRESULT ( STDMETHODCALLTYPE *ConnectDirect )( 
  7237.             IGraphBuilder * This,
  7238.             /* [in] */ IPin *ppinOut,
  7239.             /* [in] */ IPin *ppinIn,
  7240.             /* [unique][in] */ const AM_MEDIA_TYPE *pmt);
  7241.         
  7242.         HRESULT ( STDMETHODCALLTYPE *Reconnect )( 
  7243.             IGraphBuilder * This,
  7244.             /* [in] */ IPin *ppin);
  7245.         
  7246.         HRESULT ( STDMETHODCALLTYPE *Disconnect )( 
  7247.             IGraphBuilder * This,
  7248.             /* [in] */ IPin *ppin);
  7249.         
  7250.         HRESULT ( STDMETHODCALLTYPE *SetDefaultSyncSource )( 
  7251.             IGraphBuilder * This);
  7252.         
  7253.         HRESULT ( STDMETHODCALLTYPE *Connect )( 
  7254.             IGraphBuilder * This,
  7255.             /* [in] */ IPin *ppinOut,
  7256.             /* [in] */ IPin *ppinIn);
  7257.         
  7258.         HRESULT ( STDMETHODCALLTYPE *Render )( 
  7259.             IGraphBuilder * This,
  7260.             /* [in] */ IPin *ppinOut);
  7261.         
  7262.         HRESULT ( STDMETHODCALLTYPE *RenderFile )( 
  7263.             IGraphBuilder * This,
  7264.             /* [in] */ LPCWSTR lpcwstrFile,
  7265.             /* [unique][in] */ LPCWSTR lpcwstrPlayList);
  7266.         
  7267.         HRESULT ( STDMETHODCALLTYPE *AddSourceFilter )( 
  7268.             IGraphBuilder * This,
  7269.             /* [in] */ LPCWSTR lpcwstrFileName,
  7270.             /* [unique][in] */ LPCWSTR lpcwstrFilterName,
  7271.             /* [out] */ IBaseFilter **ppFilter);
  7272.         
  7273.         HRESULT ( STDMETHODCALLTYPE *SetLogFile )( 
  7274.             IGraphBuilder * This,
  7275.             /* [in] */ DWORD_PTR hFile);
  7276.         
  7277.         HRESULT ( STDMETHODCALLTYPE *Abort )( 
  7278.             IGraphBuilder * This);
  7279.         
  7280.         HRESULT ( STDMETHODCALLTYPE *ShouldOperationContinue )( 
  7281.             IGraphBuilder * This);
  7282.         
  7283.         END_INTERFACE
  7284.     } IGraphBuilderVtbl;
  7285.  
  7286.     interface IGraphBuilder
  7287.     {
  7288.         CONST_VTBL struct IGraphBuilderVtbl *lpVtbl;
  7289.     };
  7290.  
  7291.     
  7292.  
  7293. #ifdef COBJMACROS
  7294.  
  7295.  
  7296. #define IGraphBuilder_QueryInterface(This,riid,ppvObject)    \
  7297.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  7298.  
  7299. #define IGraphBuilder_AddRef(This)    \
  7300.     (This)->lpVtbl -> AddRef(This)
  7301.  
  7302. #define IGraphBuilder_Release(This)    \
  7303.     (This)->lpVtbl -> Release(This)
  7304.  
  7305.  
  7306. #define IGraphBuilder_AddFilter(This,pFilter,pName)    \
  7307.     (This)->lpVtbl -> AddFilter(This,pFilter,pName)
  7308.  
  7309. #define IGraphBuilder_RemoveFilter(This,pFilter)    \
  7310.     (This)->lpVtbl -> RemoveFilter(This,pFilter)
  7311.  
  7312. #define IGraphBuilder_EnumFilters(This,ppEnum)    \
  7313.     (This)->lpVtbl -> EnumFilters(This,ppEnum)
  7314.  
  7315. #define IGraphBuilder_FindFilterByName(This,pName,ppFilter)    \
  7316.     (This)->lpVtbl -> FindFilterByName(This,pName,ppFilter)
  7317.  
  7318. #define IGraphBuilder_ConnectDirect(This,ppinOut,ppinIn,pmt)    \
  7319.     (This)->lpVtbl -> ConnectDirect(This,ppinOut,ppinIn,pmt)
  7320.  
  7321. #define IGraphBuilder_Reconnect(This,ppin)    \
  7322.     (This)->lpVtbl -> Reconnect(This,ppin)
  7323.  
  7324. #define IGraphBuilder_Disconnect(This,ppin)    \
  7325.     (This)->lpVtbl -> Disconnect(This,ppin)
  7326.  
  7327. #define IGraphBuilder_SetDefaultSyncSource(This)    \
  7328.     (This)->lpVtbl -> SetDefaultSyncSource(This)
  7329.  
  7330.  
  7331. #define IGraphBuilder_Connect(This,ppinOut,ppinIn)    \
  7332.     (This)->lpVtbl -> Connect(This,ppinOut,ppinIn)
  7333.  
  7334. #define IGraphBuilder_Render(This,ppinOut)    \
  7335.     (This)->lpVtbl -> Render(This,ppinOut)
  7336.  
  7337. #define IGraphBuilder_RenderFile(This,lpcwstrFile,lpcwstrPlayList)    \
  7338.     (This)->lpVtbl -> RenderFile(This,lpcwstrFile,lpcwstrPlayList)
  7339.  
  7340. #define IGraphBuilder_AddSourceFilter(This,lpcwstrFileName,lpcwstrFilterName,ppFilter)    \
  7341.     (This)->lpVtbl -> AddSourceFilter(This,lpcwstrFileName,lpcwstrFilterName,ppFilter)
  7342.  
  7343. #define IGraphBuilder_SetLogFile(This,hFile)    \
  7344.     (This)->lpVtbl -> SetLogFile(This,hFile)
  7345.  
  7346. #define IGraphBuilder_Abort(This)    \
  7347.     (This)->lpVtbl -> Abort(This)
  7348.  
  7349. #define IGraphBuilder_ShouldOperationContinue(This)    \
  7350.     (This)->lpVtbl -> ShouldOperationContinue(This)
  7351.  
  7352. #endif /* COBJMACROS */
  7353.  
  7354.  
  7355. #endif     /* C style interface */
  7356.  
  7357.  
  7358.  
  7359. HRESULT STDMETHODCALLTYPE IGraphBuilder_Connect_Proxy( 
  7360.     IGraphBuilder * This,
  7361.     /* [in] */ IPin *ppinOut,
  7362.     /* [in] */ IPin *ppinIn);
  7363.  
  7364.  
  7365. void __RPC_STUB IGraphBuilder_Connect_Stub(
  7366.     IRpcStubBuffer *This,
  7367.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7368.     PRPC_MESSAGE _pRpcMessage,
  7369.     DWORD *_pdwStubPhase);
  7370.  
  7371.  
  7372. HRESULT STDMETHODCALLTYPE IGraphBuilder_Render_Proxy( 
  7373.     IGraphBuilder * This,
  7374.     /* [in] */ IPin *ppinOut);
  7375.  
  7376.  
  7377. void __RPC_STUB IGraphBuilder_Render_Stub(
  7378.     IRpcStubBuffer *This,
  7379.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7380.     PRPC_MESSAGE _pRpcMessage,
  7381.     DWORD *_pdwStubPhase);
  7382.  
  7383.  
  7384. HRESULT STDMETHODCALLTYPE IGraphBuilder_RenderFile_Proxy( 
  7385.     IGraphBuilder * This,
  7386.     /* [in] */ LPCWSTR lpcwstrFile,
  7387.     /* [unique][in] */ LPCWSTR lpcwstrPlayList);
  7388.  
  7389.  
  7390. void __RPC_STUB IGraphBuilder_RenderFile_Stub(
  7391.     IRpcStubBuffer *This,
  7392.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7393.     PRPC_MESSAGE _pRpcMessage,
  7394.     DWORD *_pdwStubPhase);
  7395.  
  7396.  
  7397. HRESULT STDMETHODCALLTYPE IGraphBuilder_AddSourceFilter_Proxy( 
  7398.     IGraphBuilder * This,
  7399.     /* [in] */ LPCWSTR lpcwstrFileName,
  7400.     /* [unique][in] */ LPCWSTR lpcwstrFilterName,
  7401.     /* [out] */ IBaseFilter **ppFilter);
  7402.  
  7403.  
  7404. void __RPC_STUB IGraphBuilder_AddSourceFilter_Stub(
  7405.     IRpcStubBuffer *This,
  7406.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7407.     PRPC_MESSAGE _pRpcMessage,
  7408.     DWORD *_pdwStubPhase);
  7409.  
  7410.  
  7411. HRESULT STDMETHODCALLTYPE IGraphBuilder_SetLogFile_Proxy( 
  7412.     IGraphBuilder * This,
  7413.     /* [in] */ DWORD_PTR hFile);
  7414.  
  7415.  
  7416. void __RPC_STUB IGraphBuilder_SetLogFile_Stub(
  7417.     IRpcStubBuffer *This,
  7418.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7419.     PRPC_MESSAGE _pRpcMessage,
  7420.     DWORD *_pdwStubPhase);
  7421.  
  7422.  
  7423. HRESULT STDMETHODCALLTYPE IGraphBuilder_Abort_Proxy( 
  7424.     IGraphBuilder * This);
  7425.  
  7426.  
  7427. void __RPC_STUB IGraphBuilder_Abort_Stub(
  7428.     IRpcStubBuffer *This,
  7429.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7430.     PRPC_MESSAGE _pRpcMessage,
  7431.     DWORD *_pdwStubPhase);
  7432.  
  7433.  
  7434. HRESULT STDMETHODCALLTYPE IGraphBuilder_ShouldOperationContinue_Proxy( 
  7435.     IGraphBuilder * This);
  7436.  
  7437.  
  7438. void __RPC_STUB IGraphBuilder_ShouldOperationContinue_Stub(
  7439.     IRpcStubBuffer *This,
  7440.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7441.     PRPC_MESSAGE _pRpcMessage,
  7442.     DWORD *_pdwStubPhase);
  7443.  
  7444.  
  7445.  
  7446. #endif     /* __IGraphBuilder_INTERFACE_DEFINED__ */
  7447.  
  7448.  
  7449. #ifndef __ICaptureGraphBuilder_INTERFACE_DEFINED__
  7450. #define __ICaptureGraphBuilder_INTERFACE_DEFINED__
  7451.  
  7452. /* interface ICaptureGraphBuilder */
  7453. /* [unique][uuid][object] */ 
  7454.  
  7455.  
  7456. EXTERN_C const IID IID_ICaptureGraphBuilder;
  7457.  
  7458. #if defined(__cplusplus) && !defined(CINTERFACE)
  7459.     
  7460.     MIDL_INTERFACE("bf87b6e0-8c27-11d0-b3f0-00aa003761c5")
  7461.     ICaptureGraphBuilder : public IUnknown
  7462.     {
  7463.     public:
  7464.         virtual HRESULT STDMETHODCALLTYPE SetFiltergraph( 
  7465.             /* [in] */ IGraphBuilder *pfg) = 0;
  7466.         
  7467.         virtual HRESULT STDMETHODCALLTYPE GetFiltergraph( 
  7468.             /* [out] */ IGraphBuilder **ppfg) = 0;
  7469.         
  7470.         virtual HRESULT STDMETHODCALLTYPE SetOutputFileName( 
  7471.             /* [in] */ const GUID *pType,
  7472.             /* [in] */ LPCOLESTR lpstrFile,
  7473.             /* [out] */ IBaseFilter **ppf,
  7474.             /* [out] */ IFileSinkFilter **ppSink) = 0;
  7475.         
  7476.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE FindInterface( 
  7477.             /* [unique][in] */ const GUID *pCategory,
  7478.             /* [in] */ IBaseFilter *pf,
  7479.             /* [in] */ REFIID riid,
  7480.             /* [out] */ void **ppint) = 0;
  7481.         
  7482.         virtual HRESULT STDMETHODCALLTYPE RenderStream( 
  7483.             /* [in] */ const GUID *pCategory,
  7484.             /* [in] */ IUnknown *pSource,
  7485.             /* [in] */ IBaseFilter *pfCompressor,
  7486.             /* [in] */ IBaseFilter *pfRenderer) = 0;
  7487.         
  7488.         virtual HRESULT STDMETHODCALLTYPE ControlStream( 
  7489.             /* [in] */ const GUID *pCategory,
  7490.             /* [in] */ IBaseFilter *pFilter,
  7491.             /* [in] */ REFERENCE_TIME *pstart,
  7492.             /* [in] */ REFERENCE_TIME *pstop,
  7493.             /* [in] */ WORD wStartCookie,
  7494.             /* [in] */ WORD wStopCookie) = 0;
  7495.         
  7496.         virtual HRESULT STDMETHODCALLTYPE AllocCapFile( 
  7497.             /* [in] */ LPCOLESTR lpstr,
  7498.             /* [in] */ DWORDLONG dwlSize) = 0;
  7499.         
  7500.         virtual HRESULT STDMETHODCALLTYPE CopyCaptureFile( 
  7501.             /* [in] */ LPOLESTR lpwstrOld,
  7502.             /* [in] */ LPOLESTR lpwstrNew,
  7503.             /* [in] */ int fAllowEscAbort,
  7504.             /* [in] */ IAMCopyCaptureFileProgress *pCallback) = 0;
  7505.         
  7506.     };
  7507.     
  7508. #else     /* C style interface */
  7509.  
  7510.     typedef struct ICaptureGraphBuilderVtbl
  7511.     {
  7512.         BEGIN_INTERFACE
  7513.         
  7514.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  7515.             ICaptureGraphBuilder * This,
  7516.             /* [in] */ REFIID riid,
  7517.             /* [iid_is][out] */ void **ppvObject);
  7518.         
  7519.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  7520.             ICaptureGraphBuilder * This);
  7521.         
  7522.         ULONG ( STDMETHODCALLTYPE *Release )( 
  7523.             ICaptureGraphBuilder * This);
  7524.         
  7525.         HRESULT ( STDMETHODCALLTYPE *SetFiltergraph )( 
  7526.             ICaptureGraphBuilder * This,
  7527.             /* [in] */ IGraphBuilder *pfg);
  7528.         
  7529.         HRESULT ( STDMETHODCALLTYPE *GetFiltergraph )( 
  7530.             ICaptureGraphBuilder * This,
  7531.             /* [out] */ IGraphBuilder **ppfg);
  7532.         
  7533.         HRESULT ( STDMETHODCALLTYPE *SetOutputFileName )( 
  7534.             ICaptureGraphBuilder * This,
  7535.             /* [in] */ const GUID *pType,
  7536.             /* [in] */ LPCOLESTR lpstrFile,
  7537.             /* [out] */ IBaseFilter **ppf,
  7538.             /* [out] */ IFileSinkFilter **ppSink);
  7539.         
  7540.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *FindInterface )( 
  7541.             ICaptureGraphBuilder * This,
  7542.             /* [unique][in] */ const GUID *pCategory,
  7543.             /* [in] */ IBaseFilter *pf,
  7544.             /* [in] */ REFIID riid,
  7545.             /* [out] */ void **ppint);
  7546.         
  7547.         HRESULT ( STDMETHODCALLTYPE *RenderStream )( 
  7548.             ICaptureGraphBuilder * This,
  7549.             /* [in] */ const GUID *pCategory,
  7550.             /* [in] */ IUnknown *pSource,
  7551.             /* [in] */ IBaseFilter *pfCompressor,
  7552.             /* [in] */ IBaseFilter *pfRenderer);
  7553.         
  7554.         HRESULT ( STDMETHODCALLTYPE *ControlStream )( 
  7555.             ICaptureGraphBuilder * This,
  7556.             /* [in] */ const GUID *pCategory,
  7557.             /* [in] */ IBaseFilter *pFilter,
  7558.             /* [in] */ REFERENCE_TIME *pstart,
  7559.             /* [in] */ REFERENCE_TIME *pstop,
  7560.             /* [in] */ WORD wStartCookie,
  7561.             /* [in] */ WORD wStopCookie);
  7562.         
  7563.         HRESULT ( STDMETHODCALLTYPE *AllocCapFile )( 
  7564.             ICaptureGraphBuilder * This,
  7565.             /* [in] */ LPCOLESTR lpstr,
  7566.             /* [in] */ DWORDLONG dwlSize);
  7567.         
  7568.         HRESULT ( STDMETHODCALLTYPE *CopyCaptureFile )( 
  7569.             ICaptureGraphBuilder * This,
  7570.             /* [in] */ LPOLESTR lpwstrOld,
  7571.             /* [in] */ LPOLESTR lpwstrNew,
  7572.             /* [in] */ int fAllowEscAbort,
  7573.             /* [in] */ IAMCopyCaptureFileProgress *pCallback);
  7574.         
  7575.         END_INTERFACE
  7576.     } ICaptureGraphBuilderVtbl;
  7577.  
  7578.     interface ICaptureGraphBuilder
  7579.     {
  7580.         CONST_VTBL struct ICaptureGraphBuilderVtbl *lpVtbl;
  7581.     };
  7582.  
  7583.     
  7584.  
  7585. #ifdef COBJMACROS
  7586.  
  7587.  
  7588. #define ICaptureGraphBuilder_QueryInterface(This,riid,ppvObject)    \
  7589.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  7590.  
  7591. #define ICaptureGraphBuilder_AddRef(This)    \
  7592.     (This)->lpVtbl -> AddRef(This)
  7593.  
  7594. #define ICaptureGraphBuilder_Release(This)    \
  7595.     (This)->lpVtbl -> Release(This)
  7596.  
  7597.  
  7598. #define ICaptureGraphBuilder_SetFiltergraph(This,pfg)    \
  7599.     (This)->lpVtbl -> SetFiltergraph(This,pfg)
  7600.  
  7601. #define ICaptureGraphBuilder_GetFiltergraph(This,ppfg)    \
  7602.     (This)->lpVtbl -> GetFiltergraph(This,ppfg)
  7603.  
  7604. #define ICaptureGraphBuilder_SetOutputFileName(This,pType,lpstrFile,ppf,ppSink)    \
  7605.     (This)->lpVtbl -> SetOutputFileName(This,pType,lpstrFile,ppf,ppSink)
  7606.  
  7607. #define ICaptureGraphBuilder_FindInterface(This,pCategory,pf,riid,ppint)    \
  7608.     (This)->lpVtbl -> FindInterface(This,pCategory,pf,riid,ppint)
  7609.  
  7610. #define ICaptureGraphBuilder_RenderStream(This,pCategory,pSource,pfCompressor,pfRenderer)    \
  7611.     (This)->lpVtbl -> RenderStream(This,pCategory,pSource,pfCompressor,pfRenderer)
  7612.  
  7613. #define ICaptureGraphBuilder_ControlStream(This,pCategory,pFilter,pstart,pstop,wStartCookie,wStopCookie)    \
  7614.     (This)->lpVtbl -> ControlStream(This,pCategory,pFilter,pstart,pstop,wStartCookie,wStopCookie)
  7615.  
  7616. #define ICaptureGraphBuilder_AllocCapFile(This,lpstr,dwlSize)    \
  7617.     (This)->lpVtbl -> AllocCapFile(This,lpstr,dwlSize)
  7618.  
  7619. #define ICaptureGraphBuilder_CopyCaptureFile(This,lpwstrOld,lpwstrNew,fAllowEscAbort,pCallback)    \
  7620.     (This)->lpVtbl -> CopyCaptureFile(This,lpwstrOld,lpwstrNew,fAllowEscAbort,pCallback)
  7621.  
  7622. #endif /* COBJMACROS */
  7623.  
  7624.  
  7625. #endif     /* C style interface */
  7626.  
  7627.  
  7628.  
  7629. HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder_SetFiltergraph_Proxy( 
  7630.     ICaptureGraphBuilder * This,
  7631.     /* [in] */ IGraphBuilder *pfg);
  7632.  
  7633.  
  7634. void __RPC_STUB ICaptureGraphBuilder_SetFiltergraph_Stub(
  7635.     IRpcStubBuffer *This,
  7636.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7637.     PRPC_MESSAGE _pRpcMessage,
  7638.     DWORD *_pdwStubPhase);
  7639.  
  7640.  
  7641. HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder_GetFiltergraph_Proxy( 
  7642.     ICaptureGraphBuilder * This,
  7643.     /* [out] */ IGraphBuilder **ppfg);
  7644.  
  7645.  
  7646. void __RPC_STUB ICaptureGraphBuilder_GetFiltergraph_Stub(
  7647.     IRpcStubBuffer *This,
  7648.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7649.     PRPC_MESSAGE _pRpcMessage,
  7650.     DWORD *_pdwStubPhase);
  7651.  
  7652.  
  7653. HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder_SetOutputFileName_Proxy( 
  7654.     ICaptureGraphBuilder * This,
  7655.     /* [in] */ const GUID *pType,
  7656.     /* [in] */ LPCOLESTR lpstrFile,
  7657.     /* [out] */ IBaseFilter **ppf,
  7658.     /* [out] */ IFileSinkFilter **ppSink);
  7659.  
  7660.  
  7661. void __RPC_STUB ICaptureGraphBuilder_SetOutputFileName_Stub(
  7662.     IRpcStubBuffer *This,
  7663.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7664.     PRPC_MESSAGE _pRpcMessage,
  7665.     DWORD *_pdwStubPhase);
  7666.  
  7667.  
  7668. /* [call_as] */ HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder_RemoteFindInterface_Proxy( 
  7669.     ICaptureGraphBuilder * This,
  7670.     /* [unique][in] */ const GUID *pCategory,
  7671.     /* [in] */ IBaseFilter *pf,
  7672.     /* [in] */ REFIID riid,
  7673.     /* [out] */ IUnknown **ppint);
  7674.  
  7675.  
  7676. void __RPC_STUB ICaptureGraphBuilder_RemoteFindInterface_Stub(
  7677.     IRpcStubBuffer *This,
  7678.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7679.     PRPC_MESSAGE _pRpcMessage,
  7680.     DWORD *_pdwStubPhase);
  7681.  
  7682.  
  7683. HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder_RenderStream_Proxy( 
  7684.     ICaptureGraphBuilder * This,
  7685.     /* [in] */ const GUID *pCategory,
  7686.     /* [in] */ IUnknown *pSource,
  7687.     /* [in] */ IBaseFilter *pfCompressor,
  7688.     /* [in] */ IBaseFilter *pfRenderer);
  7689.  
  7690.  
  7691. void __RPC_STUB ICaptureGraphBuilder_RenderStream_Stub(
  7692.     IRpcStubBuffer *This,
  7693.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7694.     PRPC_MESSAGE _pRpcMessage,
  7695.     DWORD *_pdwStubPhase);
  7696.  
  7697.  
  7698. HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder_ControlStream_Proxy( 
  7699.     ICaptureGraphBuilder * This,
  7700.     /* [in] */ const GUID *pCategory,
  7701.     /* [in] */ IBaseFilter *pFilter,
  7702.     /* [in] */ REFERENCE_TIME *pstart,
  7703.     /* [in] */ REFERENCE_TIME *pstop,
  7704.     /* [in] */ WORD wStartCookie,
  7705.     /* [in] */ WORD wStopCookie);
  7706.  
  7707.  
  7708. void __RPC_STUB ICaptureGraphBuilder_ControlStream_Stub(
  7709.     IRpcStubBuffer *This,
  7710.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7711.     PRPC_MESSAGE _pRpcMessage,
  7712.     DWORD *_pdwStubPhase);
  7713.  
  7714.  
  7715. HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder_AllocCapFile_Proxy( 
  7716.     ICaptureGraphBuilder * This,
  7717.     /* [in] */ LPCOLESTR lpstr,
  7718.     /* [in] */ DWORDLONG dwlSize);
  7719.  
  7720.  
  7721. void __RPC_STUB ICaptureGraphBuilder_AllocCapFile_Stub(
  7722.     IRpcStubBuffer *This,
  7723.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7724.     PRPC_MESSAGE _pRpcMessage,
  7725.     DWORD *_pdwStubPhase);
  7726.  
  7727.  
  7728. HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder_CopyCaptureFile_Proxy( 
  7729.     ICaptureGraphBuilder * This,
  7730.     /* [in] */ LPOLESTR lpwstrOld,
  7731.     /* [in] */ LPOLESTR lpwstrNew,
  7732.     /* [in] */ int fAllowEscAbort,
  7733.     /* [in] */ IAMCopyCaptureFileProgress *pCallback);
  7734.  
  7735.  
  7736. void __RPC_STUB ICaptureGraphBuilder_CopyCaptureFile_Stub(
  7737.     IRpcStubBuffer *This,
  7738.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7739.     PRPC_MESSAGE _pRpcMessage,
  7740.     DWORD *_pdwStubPhase);
  7741.  
  7742.  
  7743.  
  7744. #endif     /* __ICaptureGraphBuilder_INTERFACE_DEFINED__ */
  7745.  
  7746.  
  7747. #ifndef __IAMCopyCaptureFileProgress_INTERFACE_DEFINED__
  7748. #define __IAMCopyCaptureFileProgress_INTERFACE_DEFINED__
  7749.  
  7750. /* interface IAMCopyCaptureFileProgress */
  7751. /* [unique][uuid][object] */ 
  7752.  
  7753.  
  7754. EXTERN_C const IID IID_IAMCopyCaptureFileProgress;
  7755.  
  7756. #if defined(__cplusplus) && !defined(CINTERFACE)
  7757.     
  7758.     MIDL_INTERFACE("670d1d20-a068-11d0-b3f0-00aa003761c5")
  7759.     IAMCopyCaptureFileProgress : public IUnknown
  7760.     {
  7761.     public:
  7762.         virtual HRESULT STDMETHODCALLTYPE Progress( 
  7763.             /* [in] */ int iProgress) = 0;
  7764.         
  7765.     };
  7766.     
  7767. #else     /* C style interface */
  7768.  
  7769.     typedef struct IAMCopyCaptureFileProgressVtbl
  7770.     {
  7771.         BEGIN_INTERFACE
  7772.         
  7773.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  7774.             IAMCopyCaptureFileProgress * This,
  7775.             /* [in] */ REFIID riid,
  7776.             /* [iid_is][out] */ void **ppvObject);
  7777.         
  7778.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  7779.             IAMCopyCaptureFileProgress * This);
  7780.         
  7781.         ULONG ( STDMETHODCALLTYPE *Release )( 
  7782.             IAMCopyCaptureFileProgress * This);
  7783.         
  7784.         HRESULT ( STDMETHODCALLTYPE *Progress )( 
  7785.             IAMCopyCaptureFileProgress * This,
  7786.             /* [in] */ int iProgress);
  7787.         
  7788.         END_INTERFACE
  7789.     } IAMCopyCaptureFileProgressVtbl;
  7790.  
  7791.     interface IAMCopyCaptureFileProgress
  7792.     {
  7793.         CONST_VTBL struct IAMCopyCaptureFileProgressVtbl *lpVtbl;
  7794.     };
  7795.  
  7796.     
  7797.  
  7798. #ifdef COBJMACROS
  7799.  
  7800.  
  7801. #define IAMCopyCaptureFileProgress_QueryInterface(This,riid,ppvObject)    \
  7802.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  7803.  
  7804. #define IAMCopyCaptureFileProgress_AddRef(This)    \
  7805.     (This)->lpVtbl -> AddRef(This)
  7806.  
  7807. #define IAMCopyCaptureFileProgress_Release(This)    \
  7808.     (This)->lpVtbl -> Release(This)
  7809.  
  7810.  
  7811. #define IAMCopyCaptureFileProgress_Progress(This,iProgress)    \
  7812.     (This)->lpVtbl -> Progress(This,iProgress)
  7813.  
  7814. #endif /* COBJMACROS */
  7815.  
  7816.  
  7817. #endif     /* C style interface */
  7818.  
  7819.  
  7820.  
  7821. HRESULT STDMETHODCALLTYPE IAMCopyCaptureFileProgress_Progress_Proxy( 
  7822.     IAMCopyCaptureFileProgress * This,
  7823.     /* [in] */ int iProgress);
  7824.  
  7825.  
  7826. void __RPC_STUB IAMCopyCaptureFileProgress_Progress_Stub(
  7827.     IRpcStubBuffer *This,
  7828.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7829.     PRPC_MESSAGE _pRpcMessage,
  7830.     DWORD *_pdwStubPhase);
  7831.  
  7832.  
  7833.  
  7834. #endif     /* __IAMCopyCaptureFileProgress_INTERFACE_DEFINED__ */
  7835.  
  7836.  
  7837. #ifndef __ICaptureGraphBuilder2_INTERFACE_DEFINED__
  7838. #define __ICaptureGraphBuilder2_INTERFACE_DEFINED__
  7839.  
  7840. /* interface ICaptureGraphBuilder2 */
  7841. /* [unique][uuid][object] */ 
  7842.  
  7843.  
  7844. EXTERN_C const IID IID_ICaptureGraphBuilder2;
  7845.  
  7846. #if defined(__cplusplus) && !defined(CINTERFACE)
  7847.     
  7848.     MIDL_INTERFACE("93E5A4E0-2D50-11d2-ABFA-00A0C9C6E38D")
  7849.     ICaptureGraphBuilder2 : public IUnknown
  7850.     {
  7851.     public:
  7852.         virtual HRESULT STDMETHODCALLTYPE SetFiltergraph( 
  7853.             /* [in] */ IGraphBuilder *pfg) = 0;
  7854.         
  7855.         virtual HRESULT STDMETHODCALLTYPE GetFiltergraph( 
  7856.             /* [out] */ IGraphBuilder **ppfg) = 0;
  7857.         
  7858.         virtual HRESULT STDMETHODCALLTYPE SetOutputFileName( 
  7859.             /* [in] */ const GUID *pType,
  7860.             /* [in] */ LPCOLESTR lpstrFile,
  7861.             /* [out] */ IBaseFilter **ppf,
  7862.             /* [out] */ IFileSinkFilter **ppSink) = 0;
  7863.         
  7864.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE FindInterface( 
  7865.             /* [in] */ const GUID *pCategory,
  7866.             /* [in] */ const GUID *pType,
  7867.             /* [in] */ IBaseFilter *pf,
  7868.             /* [in] */ REFIID riid,
  7869.             /* [out] */ void **ppint) = 0;
  7870.         
  7871.         virtual HRESULT STDMETHODCALLTYPE RenderStream( 
  7872.             /* [in] */ const GUID *pCategory,
  7873.             /* [in] */ const GUID *pType,
  7874.             /* [in] */ IUnknown *pSource,
  7875.             /* [in] */ IBaseFilter *pfCompressor,
  7876.             /* [in] */ IBaseFilter *pfRenderer) = 0;
  7877.         
  7878.         virtual HRESULT STDMETHODCALLTYPE ControlStream( 
  7879.             /* [in] */ const GUID *pCategory,
  7880.             /* [in] */ const GUID *pType,
  7881.             /* [in] */ IBaseFilter *pFilter,
  7882.             /* [in] */ REFERENCE_TIME *pstart,
  7883.             /* [in] */ REFERENCE_TIME *pstop,
  7884.             /* [in] */ WORD wStartCookie,
  7885.             /* [in] */ WORD wStopCookie) = 0;
  7886.         
  7887.         virtual HRESULT STDMETHODCALLTYPE AllocCapFile( 
  7888.             /* [in] */ LPCOLESTR lpstr,
  7889.             /* [in] */ DWORDLONG dwlSize) = 0;
  7890.         
  7891.         virtual HRESULT STDMETHODCALLTYPE CopyCaptureFile( 
  7892.             /* [in] */ LPOLESTR lpwstrOld,
  7893.             /* [in] */ LPOLESTR lpwstrNew,
  7894.             /* [in] */ int fAllowEscAbort,
  7895.             /* [in] */ IAMCopyCaptureFileProgress *pCallback) = 0;
  7896.         
  7897.         virtual HRESULT STDMETHODCALLTYPE FindPin( 
  7898.             /* [in] */ IUnknown *pSource,
  7899.             /* [in] */ PIN_DIRECTION pindir,
  7900.             /* [in] */ const GUID *pCategory,
  7901.             /* [in] */ const GUID *pType,
  7902.             /* [in] */ BOOL fUnconnected,
  7903.             /* [in] */ int num,
  7904.             /* [out] */ IPin **ppPin) = 0;
  7905.         
  7906.     };
  7907.     
  7908. #else     /* C style interface */
  7909.  
  7910.     typedef struct ICaptureGraphBuilder2Vtbl
  7911.     {
  7912.         BEGIN_INTERFACE
  7913.         
  7914.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  7915.             ICaptureGraphBuilder2 * This,
  7916.             /* [in] */ REFIID riid,
  7917.             /* [iid_is][out] */ void **ppvObject);
  7918.         
  7919.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  7920.             ICaptureGraphBuilder2 * This);
  7921.         
  7922.         ULONG ( STDMETHODCALLTYPE *Release )( 
  7923.             ICaptureGraphBuilder2 * This);
  7924.         
  7925.         HRESULT ( STDMETHODCALLTYPE *SetFiltergraph )( 
  7926.             ICaptureGraphBuilder2 * This,
  7927.             /* [in] */ IGraphBuilder *pfg);
  7928.         
  7929.         HRESULT ( STDMETHODCALLTYPE *GetFiltergraph )( 
  7930.             ICaptureGraphBuilder2 * This,
  7931.             /* [out] */ IGraphBuilder **ppfg);
  7932.         
  7933.         HRESULT ( STDMETHODCALLTYPE *SetOutputFileName )( 
  7934.             ICaptureGraphBuilder2 * This,
  7935.             /* [in] */ const GUID *pType,
  7936.             /* [in] */ LPCOLESTR lpstrFile,
  7937.             /* [out] */ IBaseFilter **ppf,
  7938.             /* [out] */ IFileSinkFilter **ppSink);
  7939.         
  7940.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *FindInterface )( 
  7941.             ICaptureGraphBuilder2 * This,
  7942.             /* [in] */ const GUID *pCategory,
  7943.             /* [in] */ const GUID *pType,
  7944.             /* [in] */ IBaseFilter *pf,
  7945.             /* [in] */ REFIID riid,
  7946.             /* [out] */ void **ppint);
  7947.         
  7948.         HRESULT ( STDMETHODCALLTYPE *RenderStream )( 
  7949.             ICaptureGraphBuilder2 * This,
  7950.             /* [in] */ const GUID *pCategory,
  7951.             /* [in] */ const GUID *pType,
  7952.             /* [in] */ IUnknown *pSource,
  7953.             /* [in] */ IBaseFilter *pfCompressor,
  7954.             /* [in] */ IBaseFilter *pfRenderer);
  7955.         
  7956.         HRESULT ( STDMETHODCALLTYPE *ControlStream )( 
  7957.             ICaptureGraphBuilder2 * This,
  7958.             /* [in] */ const GUID *pCategory,
  7959.             /* [in] */ const GUID *pType,
  7960.             /* [in] */ IBaseFilter *pFilter,
  7961.             /* [in] */ REFERENCE_TIME *pstart,
  7962.             /* [in] */ REFERENCE_TIME *pstop,
  7963.             /* [in] */ WORD wStartCookie,
  7964.             /* [in] */ WORD wStopCookie);
  7965.         
  7966.         HRESULT ( STDMETHODCALLTYPE *AllocCapFile )( 
  7967.             ICaptureGraphBuilder2 * This,
  7968.             /* [in] */ LPCOLESTR lpstr,
  7969.             /* [in] */ DWORDLONG dwlSize);
  7970.         
  7971.         HRESULT ( STDMETHODCALLTYPE *CopyCaptureFile )( 
  7972.             ICaptureGraphBuilder2 * This,
  7973.             /* [in] */ LPOLESTR lpwstrOld,
  7974.             /* [in] */ LPOLESTR lpwstrNew,
  7975.             /* [in] */ int fAllowEscAbort,
  7976.             /* [in] */ IAMCopyCaptureFileProgress *pCallback);
  7977.         
  7978.         HRESULT ( STDMETHODCALLTYPE *FindPin )( 
  7979.             ICaptureGraphBuilder2 * This,
  7980.             /* [in] */ IUnknown *pSource,
  7981.             /* [in] */ PIN_DIRECTION pindir,
  7982.             /* [in] */ const GUID *pCategory,
  7983.             /* [in] */ const GUID *pType,
  7984.             /* [in] */ BOOL fUnconnected,
  7985.             /* [in] */ int num,
  7986.             /* [out] */ IPin **ppPin);
  7987.         
  7988.         END_INTERFACE
  7989.     } ICaptureGraphBuilder2Vtbl;
  7990.  
  7991.     interface ICaptureGraphBuilder2
  7992.     {
  7993.         CONST_VTBL struct ICaptureGraphBuilder2Vtbl *lpVtbl;
  7994.     };
  7995.  
  7996.     
  7997.  
  7998. #ifdef COBJMACROS
  7999.  
  8000.  
  8001. #define ICaptureGraphBuilder2_QueryInterface(This,riid,ppvObject)    \
  8002.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  8003.  
  8004. #define ICaptureGraphBuilder2_AddRef(This)    \
  8005.     (This)->lpVtbl -> AddRef(This)
  8006.  
  8007. #define ICaptureGraphBuilder2_Release(This)    \
  8008.     (This)->lpVtbl -> Release(This)
  8009.  
  8010.  
  8011. #define ICaptureGraphBuilder2_SetFiltergraph(This,pfg)    \
  8012.     (This)->lpVtbl -> SetFiltergraph(This,pfg)
  8013.  
  8014. #define ICaptureGraphBuilder2_GetFiltergraph(This,ppfg)    \
  8015.     (This)->lpVtbl -> GetFiltergraph(This,ppfg)
  8016.  
  8017. #define ICaptureGraphBuilder2_SetOutputFileName(This,pType,lpstrFile,ppf,ppSink)    \
  8018.     (This)->lpVtbl -> SetOutputFileName(This,pType,lpstrFile,ppf,ppSink)
  8019.  
  8020. #define ICaptureGraphBuilder2_FindInterface(This,pCategory,pType,pf,riid,ppint)    \
  8021.     (This)->lpVtbl -> FindInterface(This,pCategory,pType,pf,riid,ppint)
  8022.  
  8023. #define ICaptureGraphBuilder2_RenderStream(This,pCategory,pType,pSource,pfCompressor,pfRenderer)    \
  8024.     (This)->lpVtbl -> RenderStream(This,pCategory,pType,pSource,pfCompressor,pfRenderer)
  8025.  
  8026. #define ICaptureGraphBuilder2_ControlStream(This,pCategory,pType,pFilter,pstart,pstop,wStartCookie,wStopCookie)    \
  8027.     (This)->lpVtbl -> ControlStream(This,pCategory,pType,pFilter,pstart,pstop,wStartCookie,wStopCookie)
  8028.  
  8029. #define ICaptureGraphBuilder2_AllocCapFile(This,lpstr,dwlSize)    \
  8030.     (This)->lpVtbl -> AllocCapFile(This,lpstr,dwlSize)
  8031.  
  8032. #define ICaptureGraphBuilder2_CopyCaptureFile(This,lpwstrOld,lpwstrNew,fAllowEscAbort,pCallback)    \
  8033.     (This)->lpVtbl -> CopyCaptureFile(This,lpwstrOld,lpwstrNew,fAllowEscAbort,pCallback)
  8034.  
  8035. #define ICaptureGraphBuilder2_FindPin(This,pSource,pindir,pCategory,pType,fUnconnected,num,ppPin)    \
  8036.     (This)->lpVtbl -> FindPin(This,pSource,pindir,pCategory,pType,fUnconnected,num,ppPin)
  8037.  
  8038. #endif /* COBJMACROS */
  8039.  
  8040.  
  8041. #endif     /* C style interface */
  8042.  
  8043.  
  8044.  
  8045. HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder2_SetFiltergraph_Proxy( 
  8046.     ICaptureGraphBuilder2 * This,
  8047.     /* [in] */ IGraphBuilder *pfg);
  8048.  
  8049.  
  8050. void __RPC_STUB ICaptureGraphBuilder2_SetFiltergraph_Stub(
  8051.     IRpcStubBuffer *This,
  8052.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8053.     PRPC_MESSAGE _pRpcMessage,
  8054.     DWORD *_pdwStubPhase);
  8055.  
  8056.  
  8057. HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder2_GetFiltergraph_Proxy( 
  8058.     ICaptureGraphBuilder2 * This,
  8059.     /* [out] */ IGraphBuilder **ppfg);
  8060.  
  8061.  
  8062. void __RPC_STUB ICaptureGraphBuilder2_GetFiltergraph_Stub(
  8063.     IRpcStubBuffer *This,
  8064.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8065.     PRPC_MESSAGE _pRpcMessage,
  8066.     DWORD *_pdwStubPhase);
  8067.  
  8068.  
  8069. HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder2_SetOutputFileName_Proxy( 
  8070.     ICaptureGraphBuilder2 * This,
  8071.     /* [in] */ const GUID *pType,
  8072.     /* [in] */ LPCOLESTR lpstrFile,
  8073.     /* [out] */ IBaseFilter **ppf,
  8074.     /* [out] */ IFileSinkFilter **ppSink);
  8075.  
  8076.  
  8077. void __RPC_STUB ICaptureGraphBuilder2_SetOutputFileName_Stub(
  8078.     IRpcStubBuffer *This,
  8079.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8080.     PRPC_MESSAGE _pRpcMessage,
  8081.     DWORD *_pdwStubPhase);
  8082.  
  8083.  
  8084. /* [call_as] */ HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder2_RemoteFindInterface_Proxy( 
  8085.     ICaptureGraphBuilder2 * This,
  8086.     /* [in] */ const GUID *pCategory,
  8087.     /* [in] */ const GUID *pType,
  8088.     /* [in] */ IBaseFilter *pf,
  8089.     /* [in] */ REFIID riid,
  8090.     /* [out] */ IUnknown **ppint);
  8091.  
  8092.  
  8093. void __RPC_STUB ICaptureGraphBuilder2_RemoteFindInterface_Stub(
  8094.     IRpcStubBuffer *This,
  8095.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8096.     PRPC_MESSAGE _pRpcMessage,
  8097.     DWORD *_pdwStubPhase);
  8098.  
  8099.  
  8100. HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder2_RenderStream_Proxy( 
  8101.     ICaptureGraphBuilder2 * This,
  8102.     /* [in] */ const GUID *pCategory,
  8103.     /* [in] */ const GUID *pType,
  8104.     /* [in] */ IUnknown *pSource,
  8105.     /* [in] */ IBaseFilter *pfCompressor,
  8106.     /* [in] */ IBaseFilter *pfRenderer);
  8107.  
  8108.  
  8109. void __RPC_STUB ICaptureGraphBuilder2_RenderStream_Stub(
  8110.     IRpcStubBuffer *This,
  8111.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8112.     PRPC_MESSAGE _pRpcMessage,
  8113.     DWORD *_pdwStubPhase);
  8114.  
  8115.  
  8116. HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder2_ControlStream_Proxy( 
  8117.     ICaptureGraphBuilder2 * This,
  8118.     /* [in] */ const GUID *pCategory,
  8119.     /* [in] */ const GUID *pType,
  8120.     /* [in] */ IBaseFilter *pFilter,
  8121.     /* [in] */ REFERENCE_TIME *pstart,
  8122.     /* [in] */ REFERENCE_TIME *pstop,
  8123.     /* [in] */ WORD wStartCookie,
  8124.     /* [in] */ WORD wStopCookie);
  8125.  
  8126.  
  8127. void __RPC_STUB ICaptureGraphBuilder2_ControlStream_Stub(
  8128.     IRpcStubBuffer *This,
  8129.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8130.     PRPC_MESSAGE _pRpcMessage,
  8131.     DWORD *_pdwStubPhase);
  8132.  
  8133.  
  8134. HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder2_AllocCapFile_Proxy( 
  8135.     ICaptureGraphBuilder2 * This,
  8136.     /* [in] */ LPCOLESTR lpstr,
  8137.     /* [in] */ DWORDLONG dwlSize);
  8138.  
  8139.  
  8140. void __RPC_STUB ICaptureGraphBuilder2_AllocCapFile_Stub(
  8141.     IRpcStubBuffer *This,
  8142.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8143.     PRPC_MESSAGE _pRpcMessage,
  8144.     DWORD *_pdwStubPhase);
  8145.  
  8146.  
  8147. HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder2_CopyCaptureFile_Proxy( 
  8148.     ICaptureGraphBuilder2 * This,
  8149.     /* [in] */ LPOLESTR lpwstrOld,
  8150.     /* [in] */ LPOLESTR lpwstrNew,
  8151.     /* [in] */ int fAllowEscAbort,
  8152.     /* [in] */ IAMCopyCaptureFileProgress *pCallback);
  8153.  
  8154.  
  8155. void __RPC_STUB ICaptureGraphBuilder2_CopyCaptureFile_Stub(
  8156.     IRpcStubBuffer *This,
  8157.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8158.     PRPC_MESSAGE _pRpcMessage,
  8159.     DWORD *_pdwStubPhase);
  8160.  
  8161.  
  8162. HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder2_FindPin_Proxy( 
  8163.     ICaptureGraphBuilder2 * This,
  8164.     /* [in] */ IUnknown *pSource,
  8165.     /* [in] */ PIN_DIRECTION pindir,
  8166.     /* [in] */ const GUID *pCategory,
  8167.     /* [in] */ const GUID *pType,
  8168.     /* [in] */ BOOL fUnconnected,
  8169.     /* [in] */ int num,
  8170.     /* [out] */ IPin **ppPin);
  8171.  
  8172.  
  8173. void __RPC_STUB ICaptureGraphBuilder2_FindPin_Stub(
  8174.     IRpcStubBuffer *This,
  8175.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8176.     PRPC_MESSAGE _pRpcMessage,
  8177.     DWORD *_pdwStubPhase);
  8178.  
  8179.  
  8180.  
  8181. #endif     /* __ICaptureGraphBuilder2_INTERFACE_DEFINED__ */
  8182.  
  8183.  
  8184. /* interface __MIDL_itf_strmif_0144 */
  8185. /* [local] */ 
  8186.  
  8187.  
  8188. enum _AM_RENSDEREXFLAGS
  8189.     {    AM_RENDEREX_RENDERTOEXISTINGRENDERERS    = 0x1
  8190.     } ;
  8191.  
  8192.  
  8193. extern RPC_IF_HANDLE __MIDL_itf_strmif_0144_v0_0_c_ifspec;
  8194. extern RPC_IF_HANDLE __MIDL_itf_strmif_0144_v0_0_s_ifspec;
  8195.  
  8196. #ifndef __IFilterGraph2_INTERFACE_DEFINED__
  8197. #define __IFilterGraph2_INTERFACE_DEFINED__
  8198.  
  8199. /* interface IFilterGraph2 */
  8200. /* [unique][uuid][object] */ 
  8201.  
  8202.  
  8203. EXTERN_C const IID IID_IFilterGraph2;
  8204.  
  8205. #if defined(__cplusplus) && !defined(CINTERFACE)
  8206.     
  8207.     MIDL_INTERFACE("36b73882-c2c8-11cf-8b46-00805f6cef60")
  8208.     IFilterGraph2 : public IGraphBuilder
  8209.     {
  8210.     public:
  8211.         virtual HRESULT STDMETHODCALLTYPE AddSourceFilterForMoniker( 
  8212.             /* [in] */ IMoniker *pMoniker,
  8213.             /* [in] */ IBindCtx *pCtx,
  8214.             /* [unique][in] */ LPCWSTR lpcwstrFilterName,
  8215.             /* [out] */ IBaseFilter **ppFilter) = 0;
  8216.         
  8217.         virtual HRESULT STDMETHODCALLTYPE ReconnectEx( 
  8218.             /* [in] */ IPin *ppin,
  8219.             /* [unique][in] */ const AM_MEDIA_TYPE *pmt) = 0;
  8220.         
  8221.         virtual HRESULT STDMETHODCALLTYPE RenderEx( 
  8222.             /* [in] */ IPin *pPinOut,
  8223.             /* [in] */ DWORD dwFlags,
  8224.             /* [out][in] */ DWORD *pvContext) = 0;
  8225.         
  8226.     };
  8227.     
  8228. #else     /* C style interface */
  8229.  
  8230.     typedef struct IFilterGraph2Vtbl
  8231.     {
  8232.         BEGIN_INTERFACE
  8233.         
  8234.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  8235.             IFilterGraph2 * This,
  8236.             /* [in] */ REFIID riid,
  8237.             /* [iid_is][out] */ void **ppvObject);
  8238.         
  8239.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  8240.             IFilterGraph2 * This);
  8241.         
  8242.         ULONG ( STDMETHODCALLTYPE *Release )( 
  8243.             IFilterGraph2 * This);
  8244.         
  8245.         HRESULT ( STDMETHODCALLTYPE *AddFilter )( 
  8246.             IFilterGraph2 * This,
  8247.             /* [in] */ IBaseFilter *pFilter,
  8248.             /* [string][in] */ LPCWSTR pName);
  8249.         
  8250.         HRESULT ( STDMETHODCALLTYPE *RemoveFilter )( 
  8251.             IFilterGraph2 * This,
  8252.             /* [in] */ IBaseFilter *pFilter);
  8253.         
  8254.         HRESULT ( STDMETHODCALLTYPE *EnumFilters )( 
  8255.             IFilterGraph2 * This,
  8256.             /* [out] */ IEnumFilters **ppEnum);
  8257.         
  8258.         HRESULT ( STDMETHODCALLTYPE *FindFilterByName )( 
  8259.             IFilterGraph2 * This,
  8260.             /* [string][in] */ LPCWSTR pName,
  8261.             /* [out] */ IBaseFilter **ppFilter);
  8262.         
  8263.         HRESULT ( STDMETHODCALLTYPE *ConnectDirect )( 
  8264.             IFilterGraph2 * This,
  8265.             /* [in] */ IPin *ppinOut,
  8266.             /* [in] */ IPin *ppinIn,
  8267.             /* [unique][in] */ const AM_MEDIA_TYPE *pmt);
  8268.         
  8269.         HRESULT ( STDMETHODCALLTYPE *Reconnect )( 
  8270.             IFilterGraph2 * This,
  8271.             /* [in] */ IPin *ppin);
  8272.         
  8273.         HRESULT ( STDMETHODCALLTYPE *Disconnect )( 
  8274.             IFilterGraph2 * This,
  8275.             /* [in] */ IPin *ppin);
  8276.         
  8277.         HRESULT ( STDMETHODCALLTYPE *SetDefaultSyncSource )( 
  8278.             IFilterGraph2 * This);
  8279.         
  8280.         HRESULT ( STDMETHODCALLTYPE *Connect )( 
  8281.             IFilterGraph2 * This,
  8282.             /* [in] */ IPin *ppinOut,
  8283.             /* [in] */ IPin *ppinIn);
  8284.         
  8285.         HRESULT ( STDMETHODCALLTYPE *Render )( 
  8286.             IFilterGraph2 * This,
  8287.             /* [in] */ IPin *ppinOut);
  8288.         
  8289.         HRESULT ( STDMETHODCALLTYPE *RenderFile )( 
  8290.             IFilterGraph2 * This,
  8291.             /* [in] */ LPCWSTR lpcwstrFile,
  8292.             /* [unique][in] */ LPCWSTR lpcwstrPlayList);
  8293.         
  8294.         HRESULT ( STDMETHODCALLTYPE *AddSourceFilter )( 
  8295.             IFilterGraph2 * This,
  8296.             /* [in] */ LPCWSTR lpcwstrFileName,
  8297.             /* [unique][in] */ LPCWSTR lpcwstrFilterName,
  8298.             /* [out] */ IBaseFilter **ppFilter);
  8299.         
  8300.         HRESULT ( STDMETHODCALLTYPE *SetLogFile )( 
  8301.             IFilterGraph2 * This,
  8302.             /* [in] */ DWORD_PTR hFile);
  8303.         
  8304.         HRESULT ( STDMETHODCALLTYPE *Abort )( 
  8305.             IFilterGraph2 * This);
  8306.         
  8307.         HRESULT ( STDMETHODCALLTYPE *ShouldOperationContinue )( 
  8308.             IFilterGraph2 * This);
  8309.         
  8310.         HRESULT ( STDMETHODCALLTYPE *AddSourceFilterForMoniker )( 
  8311.             IFilterGraph2 * This,
  8312.             /* [in] */ IMoniker *pMoniker,
  8313.             /* [in] */ IBindCtx *pCtx,
  8314.             /* [unique][in] */ LPCWSTR lpcwstrFilterName,
  8315.             /* [out] */ IBaseFilter **ppFilter);
  8316.         
  8317.         HRESULT ( STDMETHODCALLTYPE *ReconnectEx )( 
  8318.             IFilterGraph2 * This,
  8319.             /* [in] */ IPin *ppin,
  8320.             /* [unique][in] */ const AM_MEDIA_TYPE *pmt);
  8321.         
  8322.         HRESULT ( STDMETHODCALLTYPE *RenderEx )( 
  8323.             IFilterGraph2 * This,
  8324.             /* [in] */ IPin *pPinOut,
  8325.             /* [in] */ DWORD dwFlags,
  8326.             /* [out][in] */ DWORD *pvContext);
  8327.         
  8328.         END_INTERFACE
  8329.     } IFilterGraph2Vtbl;
  8330.  
  8331.     interface IFilterGraph2
  8332.     {
  8333.         CONST_VTBL struct IFilterGraph2Vtbl *lpVtbl;
  8334.     };
  8335.  
  8336.     
  8337.  
  8338. #ifdef COBJMACROS
  8339.  
  8340.  
  8341. #define IFilterGraph2_QueryInterface(This,riid,ppvObject)    \
  8342.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  8343.  
  8344. #define IFilterGraph2_AddRef(This)    \
  8345.     (This)->lpVtbl -> AddRef(This)
  8346.  
  8347. #define IFilterGraph2_Release(This)    \
  8348.     (This)->lpVtbl -> Release(This)
  8349.  
  8350.  
  8351. #define IFilterGraph2_AddFilter(This,pFilter,pName)    \
  8352.     (This)->lpVtbl -> AddFilter(This,pFilter,pName)
  8353.  
  8354. #define IFilterGraph2_RemoveFilter(This,pFilter)    \
  8355.     (This)->lpVtbl -> RemoveFilter(This,pFilter)
  8356.  
  8357. #define IFilterGraph2_EnumFilters(This,ppEnum)    \
  8358.     (This)->lpVtbl -> EnumFilters(This,ppEnum)
  8359.  
  8360. #define IFilterGraph2_FindFilterByName(This,pName,ppFilter)    \
  8361.     (This)->lpVtbl -> FindFilterByName(This,pName,ppFilter)
  8362.  
  8363. #define IFilterGraph2_ConnectDirect(This,ppinOut,ppinIn,pmt)    \
  8364.     (This)->lpVtbl -> ConnectDirect(This,ppinOut,ppinIn,pmt)
  8365.  
  8366. #define IFilterGraph2_Reconnect(This,ppin)    \
  8367.     (This)->lpVtbl -> Reconnect(This,ppin)
  8368.  
  8369. #define IFilterGraph2_Disconnect(This,ppin)    \
  8370.     (This)->lpVtbl -> Disconnect(This,ppin)
  8371.  
  8372. #define IFilterGraph2_SetDefaultSyncSource(This)    \
  8373.     (This)->lpVtbl -> SetDefaultSyncSource(This)
  8374.  
  8375.  
  8376. #define IFilterGraph2_Connect(This,ppinOut,ppinIn)    \
  8377.     (This)->lpVtbl -> Connect(This,ppinOut,ppinIn)
  8378.  
  8379. #define IFilterGraph2_Render(This,ppinOut)    \
  8380.     (This)->lpVtbl -> Render(This,ppinOut)
  8381.  
  8382. #define IFilterGraph2_RenderFile(This,lpcwstrFile,lpcwstrPlayList)    \
  8383.     (This)->lpVtbl -> RenderFile(This,lpcwstrFile,lpcwstrPlayList)
  8384.  
  8385. #define IFilterGraph2_AddSourceFilter(This,lpcwstrFileName,lpcwstrFilterName,ppFilter)    \
  8386.     (This)->lpVtbl -> AddSourceFilter(This,lpcwstrFileName,lpcwstrFilterName,ppFilter)
  8387.  
  8388. #define IFilterGraph2_SetLogFile(This,hFile)    \
  8389.     (This)->lpVtbl -> SetLogFile(This,hFile)
  8390.  
  8391. #define IFilterGraph2_Abort(This)    \
  8392.     (This)->lpVtbl -> Abort(This)
  8393.  
  8394. #define IFilterGraph2_ShouldOperationContinue(This)    \
  8395.     (This)->lpVtbl -> ShouldOperationContinue(This)
  8396.  
  8397.  
  8398. #define IFilterGraph2_AddSourceFilterForMoniker(This,pMoniker,pCtx,lpcwstrFilterName,ppFilter)    \
  8399.     (This)->lpVtbl -> AddSourceFilterForMoniker(This,pMoniker,pCtx,lpcwstrFilterName,ppFilter)
  8400.  
  8401. #define IFilterGraph2_ReconnectEx(This,ppin,pmt)    \
  8402.     (This)->lpVtbl -> ReconnectEx(This,ppin,pmt)
  8403.  
  8404. #define IFilterGraph2_RenderEx(This,pPinOut,dwFlags,pvContext)    \
  8405.     (This)->lpVtbl -> RenderEx(This,pPinOut,dwFlags,pvContext)
  8406.  
  8407. #endif /* COBJMACROS */
  8408.  
  8409.  
  8410. #endif     /* C style interface */
  8411.  
  8412.  
  8413.  
  8414. HRESULT STDMETHODCALLTYPE IFilterGraph2_AddSourceFilterForMoniker_Proxy( 
  8415.     IFilterGraph2 * This,
  8416.     /* [in] */ IMoniker *pMoniker,
  8417.     /* [in] */ IBindCtx *pCtx,
  8418.     /* [unique][in] */ LPCWSTR lpcwstrFilterName,
  8419.     /* [out] */ IBaseFilter **ppFilter);
  8420.  
  8421.  
  8422. void __RPC_STUB IFilterGraph2_AddSourceFilterForMoniker_Stub(
  8423.     IRpcStubBuffer *This,
  8424.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8425.     PRPC_MESSAGE _pRpcMessage,
  8426.     DWORD *_pdwStubPhase);
  8427.  
  8428.  
  8429. HRESULT STDMETHODCALLTYPE IFilterGraph2_ReconnectEx_Proxy( 
  8430.     IFilterGraph2 * This,
  8431.     /* [in] */ IPin *ppin,
  8432.     /* [unique][in] */ const AM_MEDIA_TYPE *pmt);
  8433.  
  8434.  
  8435. void __RPC_STUB IFilterGraph2_ReconnectEx_Stub(
  8436.     IRpcStubBuffer *This,
  8437.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8438.     PRPC_MESSAGE _pRpcMessage,
  8439.     DWORD *_pdwStubPhase);
  8440.  
  8441.  
  8442. HRESULT STDMETHODCALLTYPE IFilterGraph2_RenderEx_Proxy( 
  8443.     IFilterGraph2 * This,
  8444.     /* [in] */ IPin *pPinOut,
  8445.     /* [in] */ DWORD dwFlags,
  8446.     /* [out][in] */ DWORD *pvContext);
  8447.  
  8448.  
  8449. void __RPC_STUB IFilterGraph2_RenderEx_Stub(
  8450.     IRpcStubBuffer *This,
  8451.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8452.     PRPC_MESSAGE _pRpcMessage,
  8453.     DWORD *_pdwStubPhase);
  8454.  
  8455.  
  8456.  
  8457. #endif     /* __IFilterGraph2_INTERFACE_DEFINED__ */
  8458.  
  8459.  
  8460. #ifndef __IStreamBuilder_INTERFACE_DEFINED__
  8461. #define __IStreamBuilder_INTERFACE_DEFINED__
  8462.  
  8463. /* interface IStreamBuilder */
  8464. /* [unique][uuid][local][object] */ 
  8465.  
  8466.  
  8467. EXTERN_C const IID IID_IStreamBuilder;
  8468.  
  8469. #if defined(__cplusplus) && !defined(CINTERFACE)
  8470.     
  8471.     MIDL_INTERFACE("56a868bf-0ad4-11ce-b03a-0020af0ba770")
  8472.     IStreamBuilder : public IUnknown
  8473.     {
  8474.     public:
  8475.         virtual HRESULT STDMETHODCALLTYPE Render( 
  8476.             /* [in] */ IPin *ppinOut,
  8477.             /* [in] */ IGraphBuilder *pGraph) = 0;
  8478.         
  8479.         virtual HRESULT STDMETHODCALLTYPE Backout( 
  8480.             /* [in] */ IPin *ppinOut,
  8481.             /* [in] */ IGraphBuilder *pGraph) = 0;
  8482.         
  8483.     };
  8484.     
  8485. #else     /* C style interface */
  8486.  
  8487.     typedef struct IStreamBuilderVtbl
  8488.     {
  8489.         BEGIN_INTERFACE
  8490.         
  8491.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  8492.             IStreamBuilder * This,
  8493.             /* [in] */ REFIID riid,
  8494.             /* [iid_is][out] */ void **ppvObject);
  8495.         
  8496.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  8497.             IStreamBuilder * This);
  8498.         
  8499.         ULONG ( STDMETHODCALLTYPE *Release )( 
  8500.             IStreamBuilder * This);
  8501.         
  8502.         HRESULT ( STDMETHODCALLTYPE *Render )( 
  8503.             IStreamBuilder * This,
  8504.             /* [in] */ IPin *ppinOut,
  8505.             /* [in] */ IGraphBuilder *pGraph);
  8506.         
  8507.         HRESULT ( STDMETHODCALLTYPE *Backout )( 
  8508.             IStreamBuilder * This,
  8509.             /* [in] */ IPin *ppinOut,
  8510.             /* [in] */ IGraphBuilder *pGraph);
  8511.         
  8512.         END_INTERFACE
  8513.     } IStreamBuilderVtbl;
  8514.  
  8515.     interface IStreamBuilder
  8516.     {
  8517.         CONST_VTBL struct IStreamBuilderVtbl *lpVtbl;
  8518.     };
  8519.  
  8520.     
  8521.  
  8522. #ifdef COBJMACROS
  8523.  
  8524.  
  8525. #define IStreamBuilder_QueryInterface(This,riid,ppvObject)    \
  8526.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  8527.  
  8528. #define IStreamBuilder_AddRef(This)    \
  8529.     (This)->lpVtbl -> AddRef(This)
  8530.  
  8531. #define IStreamBuilder_Release(This)    \
  8532.     (This)->lpVtbl -> Release(This)
  8533.  
  8534.  
  8535. #define IStreamBuilder_Render(This,ppinOut,pGraph)    \
  8536.     (This)->lpVtbl -> Render(This,ppinOut,pGraph)
  8537.  
  8538. #define IStreamBuilder_Backout(This,ppinOut,pGraph)    \
  8539.     (This)->lpVtbl -> Backout(This,ppinOut,pGraph)
  8540.  
  8541. #endif /* COBJMACROS */
  8542.  
  8543.  
  8544. #endif     /* C style interface */
  8545.  
  8546.  
  8547.  
  8548. HRESULT STDMETHODCALLTYPE IStreamBuilder_Render_Proxy( 
  8549.     IStreamBuilder * This,
  8550.     /* [in] */ IPin *ppinOut,
  8551.     /* [in] */ IGraphBuilder *pGraph);
  8552.  
  8553.  
  8554. void __RPC_STUB IStreamBuilder_Render_Stub(
  8555.     IRpcStubBuffer *This,
  8556.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8557.     PRPC_MESSAGE _pRpcMessage,
  8558.     DWORD *_pdwStubPhase);
  8559.  
  8560.  
  8561. HRESULT STDMETHODCALLTYPE IStreamBuilder_Backout_Proxy( 
  8562.     IStreamBuilder * This,
  8563.     /* [in] */ IPin *ppinOut,
  8564.     /* [in] */ IGraphBuilder *pGraph);
  8565.  
  8566.  
  8567. void __RPC_STUB IStreamBuilder_Backout_Stub(
  8568.     IRpcStubBuffer *This,
  8569.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8570.     PRPC_MESSAGE _pRpcMessage,
  8571.     DWORD *_pdwStubPhase);
  8572.  
  8573.  
  8574.  
  8575. #endif     /* __IStreamBuilder_INTERFACE_DEFINED__ */
  8576.  
  8577.  
  8578. #ifndef __IAsyncReader_INTERFACE_DEFINED__
  8579. #define __IAsyncReader_INTERFACE_DEFINED__
  8580.  
  8581. /* interface IAsyncReader */
  8582. /* [unique][uuid][object] */ 
  8583.  
  8584.  
  8585. EXTERN_C const IID IID_IAsyncReader;
  8586.  
  8587. #if defined(__cplusplus) && !defined(CINTERFACE)
  8588.     
  8589.     MIDL_INTERFACE("56a868aa-0ad4-11ce-b03a-0020af0ba770")
  8590.     IAsyncReader : public IUnknown
  8591.     {
  8592.     public:
  8593.         virtual HRESULT STDMETHODCALLTYPE RequestAllocator( 
  8594.             /* [in] */ IMemAllocator *pPreferred,
  8595.             /* [in] */ ALLOCATOR_PROPERTIES *pProps,
  8596.             /* [out] */ IMemAllocator **ppActual) = 0;
  8597.         
  8598.         virtual HRESULT STDMETHODCALLTYPE Request( 
  8599.             /* [in] */ IMediaSample *pSample,
  8600.             /* [in] */ DWORD_PTR dwUser) = 0;
  8601.         
  8602.         virtual HRESULT STDMETHODCALLTYPE WaitForNext( 
  8603.             /* [in] */ DWORD dwTimeout,
  8604.             /* [out] */ IMediaSample **ppSample,
  8605.             /* [out] */ DWORD_PTR *pdwUser) = 0;
  8606.         
  8607.         virtual HRESULT STDMETHODCALLTYPE SyncReadAligned( 
  8608.             /* [in] */ IMediaSample *pSample) = 0;
  8609.         
  8610.         virtual HRESULT STDMETHODCALLTYPE SyncRead( 
  8611.             /* [in] */ LONGLONG llPosition,
  8612.             /* [in] */ LONG lLength,
  8613.             /* [size_is][out] */ BYTE *pBuffer) = 0;
  8614.         
  8615.         virtual HRESULT STDMETHODCALLTYPE Length( 
  8616.             /* [out] */ LONGLONG *pTotal,
  8617.             /* [out] */ LONGLONG *pAvailable) = 0;
  8618.         
  8619.         virtual HRESULT STDMETHODCALLTYPE BeginFlush( void) = 0;
  8620.         
  8621.         virtual HRESULT STDMETHODCALLTYPE EndFlush( void) = 0;
  8622.         
  8623.     };
  8624.     
  8625. #else     /* C style interface */
  8626.  
  8627.     typedef struct IAsyncReaderVtbl
  8628.     {
  8629.         BEGIN_INTERFACE
  8630.         
  8631.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  8632.             IAsyncReader * This,
  8633.             /* [in] */ REFIID riid,
  8634.             /* [iid_is][out] */ void **ppvObject);
  8635.         
  8636.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  8637.             IAsyncReader * This);
  8638.         
  8639.         ULONG ( STDMETHODCALLTYPE *Release )( 
  8640.             IAsyncReader * This);
  8641.         
  8642.         HRESULT ( STDMETHODCALLTYPE *RequestAllocator )( 
  8643.             IAsyncReader * This,
  8644.             /* [in] */ IMemAllocator *pPreferred,
  8645.             /* [in] */ ALLOCATOR_PROPERTIES *pProps,
  8646.             /* [out] */ IMemAllocator **ppActual);
  8647.         
  8648.         HRESULT ( STDMETHODCALLTYPE *Request )( 
  8649.             IAsyncReader * This,
  8650.             /* [in] */ IMediaSample *pSample,
  8651.             /* [in] */ DWORD_PTR dwUser);
  8652.         
  8653.         HRESULT ( STDMETHODCALLTYPE *WaitForNext )( 
  8654.             IAsyncReader * This,
  8655.             /* [in] */ DWORD dwTimeout,
  8656.             /* [out] */ IMediaSample **ppSample,
  8657.             /* [out] */ DWORD_PTR *pdwUser);
  8658.         
  8659.         HRESULT ( STDMETHODCALLTYPE *SyncReadAligned )( 
  8660.             IAsyncReader * This,
  8661.             /* [in] */ IMediaSample *pSample);
  8662.         
  8663.         HRESULT ( STDMETHODCALLTYPE *SyncRead )( 
  8664.             IAsyncReader * This,
  8665.             /* [in] */ LONGLONG llPosition,
  8666.             /* [in] */ LONG lLength,
  8667.             /* [size_is][out] */ BYTE *pBuffer);
  8668.         
  8669.         HRESULT ( STDMETHODCALLTYPE *Length )( 
  8670.             IAsyncReader * This,
  8671.             /* [out] */ LONGLONG *pTotal,
  8672.             /* [out] */ LONGLONG *pAvailable);
  8673.         
  8674.         HRESULT ( STDMETHODCALLTYPE *BeginFlush )( 
  8675.             IAsyncReader * This);
  8676.         
  8677.         HRESULT ( STDMETHODCALLTYPE *EndFlush )( 
  8678.             IAsyncReader * This);
  8679.         
  8680.         END_INTERFACE
  8681.     } IAsyncReaderVtbl;
  8682.  
  8683.     interface IAsyncReader
  8684.     {
  8685.         CONST_VTBL struct IAsyncReaderVtbl *lpVtbl;
  8686.     };
  8687.  
  8688.     
  8689.  
  8690. #ifdef COBJMACROS
  8691.  
  8692.  
  8693. #define IAsyncReader_QueryInterface(This,riid,ppvObject)    \
  8694.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  8695.  
  8696. #define IAsyncReader_AddRef(This)    \
  8697.     (This)->lpVtbl -> AddRef(This)
  8698.  
  8699. #define IAsyncReader_Release(This)    \
  8700.     (This)->lpVtbl -> Release(This)
  8701.  
  8702.  
  8703. #define IAsyncReader_RequestAllocator(This,pPreferred,pProps,ppActual)    \
  8704.     (This)->lpVtbl -> RequestAllocator(This,pPreferred,pProps,ppActual)
  8705.  
  8706. #define IAsyncReader_Request(This,pSample,dwUser)    \
  8707.     (This)->lpVtbl -> Request(This,pSample,dwUser)
  8708.  
  8709. #define IAsyncReader_WaitForNext(This,dwTimeout,ppSample,pdwUser)    \
  8710.     (This)->lpVtbl -> WaitForNext(This,dwTimeout,ppSample,pdwUser)
  8711.  
  8712. #define IAsyncReader_SyncReadAligned(This,pSample)    \
  8713.     (This)->lpVtbl -> SyncReadAligned(This,pSample)
  8714.  
  8715. #define IAsyncReader_SyncRead(This,llPosition,lLength,pBuffer)    \
  8716.     (This)->lpVtbl -> SyncRead(This,llPosition,lLength,pBuffer)
  8717.  
  8718. #define IAsyncReader_Length(This,pTotal,pAvailable)    \
  8719.     (This)->lpVtbl -> Length(This,pTotal,pAvailable)
  8720.  
  8721. #define IAsyncReader_BeginFlush(This)    \
  8722.     (This)->lpVtbl -> BeginFlush(This)
  8723.  
  8724. #define IAsyncReader_EndFlush(This)    \
  8725.     (This)->lpVtbl -> EndFlush(This)
  8726.  
  8727. #endif /* COBJMACROS */
  8728.  
  8729.  
  8730. #endif     /* C style interface */
  8731.  
  8732.  
  8733.  
  8734. HRESULT STDMETHODCALLTYPE IAsyncReader_RequestAllocator_Proxy( 
  8735.     IAsyncReader * This,
  8736.     /* [in] */ IMemAllocator *pPreferred,
  8737.     /* [in] */ ALLOCATOR_PROPERTIES *pProps,
  8738.     /* [out] */ IMemAllocator **ppActual);
  8739.  
  8740.  
  8741. void __RPC_STUB IAsyncReader_RequestAllocator_Stub(
  8742.     IRpcStubBuffer *This,
  8743.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8744.     PRPC_MESSAGE _pRpcMessage,
  8745.     DWORD *_pdwStubPhase);
  8746.  
  8747.  
  8748. HRESULT STDMETHODCALLTYPE IAsyncReader_Request_Proxy( 
  8749.     IAsyncReader * This,
  8750.     /* [in] */ IMediaSample *pSample,
  8751.     /* [in] */ DWORD_PTR dwUser);
  8752.  
  8753.  
  8754. void __RPC_STUB IAsyncReader_Request_Stub(
  8755.     IRpcStubBuffer *This,
  8756.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8757.     PRPC_MESSAGE _pRpcMessage,
  8758.     DWORD *_pdwStubPhase);
  8759.  
  8760.  
  8761. HRESULT STDMETHODCALLTYPE IAsyncReader_WaitForNext_Proxy( 
  8762.     IAsyncReader * This,
  8763.     /* [in] */ DWORD dwTimeout,
  8764.     /* [out] */ IMediaSample **ppSample,
  8765.     /* [out] */ DWORD_PTR *pdwUser);
  8766.  
  8767.  
  8768. void __RPC_STUB IAsyncReader_WaitForNext_Stub(
  8769.     IRpcStubBuffer *This,
  8770.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8771.     PRPC_MESSAGE _pRpcMessage,
  8772.     DWORD *_pdwStubPhase);
  8773.  
  8774.  
  8775. HRESULT STDMETHODCALLTYPE IAsyncReader_SyncReadAligned_Proxy( 
  8776.     IAsyncReader * This,
  8777.     /* [in] */ IMediaSample *pSample);
  8778.  
  8779.  
  8780. void __RPC_STUB IAsyncReader_SyncReadAligned_Stub(
  8781.     IRpcStubBuffer *This,
  8782.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8783.     PRPC_MESSAGE _pRpcMessage,
  8784.     DWORD *_pdwStubPhase);
  8785.  
  8786.  
  8787. HRESULT STDMETHODCALLTYPE IAsyncReader_SyncRead_Proxy( 
  8788.     IAsyncReader * This,
  8789.     /* [in] */ LONGLONG llPosition,
  8790.     /* [in] */ LONG lLength,
  8791.     /* [size_is][out] */ BYTE *pBuffer);
  8792.  
  8793.  
  8794. void __RPC_STUB IAsyncReader_SyncRead_Stub(
  8795.     IRpcStubBuffer *This,
  8796.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8797.     PRPC_MESSAGE _pRpcMessage,
  8798.     DWORD *_pdwStubPhase);
  8799.  
  8800.  
  8801. HRESULT STDMETHODCALLTYPE IAsyncReader_Length_Proxy( 
  8802.     IAsyncReader * This,
  8803.     /* [out] */ LONGLONG *pTotal,
  8804.     /* [out] */ LONGLONG *pAvailable);
  8805.  
  8806.  
  8807. void __RPC_STUB IAsyncReader_Length_Stub(
  8808.     IRpcStubBuffer *This,
  8809.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8810.     PRPC_MESSAGE _pRpcMessage,
  8811.     DWORD *_pdwStubPhase);
  8812.  
  8813.  
  8814. HRESULT STDMETHODCALLTYPE IAsyncReader_BeginFlush_Proxy( 
  8815.     IAsyncReader * This);
  8816.  
  8817.  
  8818. void __RPC_STUB IAsyncReader_BeginFlush_Stub(
  8819.     IRpcStubBuffer *This,
  8820.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8821.     PRPC_MESSAGE _pRpcMessage,
  8822.     DWORD *_pdwStubPhase);
  8823.  
  8824.  
  8825. HRESULT STDMETHODCALLTYPE IAsyncReader_EndFlush_Proxy( 
  8826.     IAsyncReader * This);
  8827.  
  8828.  
  8829. void __RPC_STUB IAsyncReader_EndFlush_Stub(
  8830.     IRpcStubBuffer *This,
  8831.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8832.     PRPC_MESSAGE _pRpcMessage,
  8833.     DWORD *_pdwStubPhase);
  8834.  
  8835.  
  8836.  
  8837. #endif     /* __IAsyncReader_INTERFACE_DEFINED__ */
  8838.  
  8839.  
  8840. #ifndef __IGraphVersion_INTERFACE_DEFINED__
  8841. #define __IGraphVersion_INTERFACE_DEFINED__
  8842.  
  8843. /* interface IGraphVersion */
  8844. /* [unique][uuid][object] */ 
  8845.  
  8846.  
  8847. EXTERN_C const IID IID_IGraphVersion;
  8848.  
  8849. #if defined(__cplusplus) && !defined(CINTERFACE)
  8850.     
  8851.     MIDL_INTERFACE("56a868ab-0ad4-11ce-b03a-0020af0ba770")
  8852.     IGraphVersion : public IUnknown
  8853.     {
  8854.     public:
  8855.         virtual HRESULT STDMETHODCALLTYPE QueryVersion( 
  8856.             LONG *pVersion) = 0;
  8857.         
  8858.     };
  8859.     
  8860. #else     /* C style interface */
  8861.  
  8862.     typedef struct IGraphVersionVtbl
  8863.     {
  8864.         BEGIN_INTERFACE
  8865.         
  8866.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  8867.             IGraphVersion * This,
  8868.             /* [in] */ REFIID riid,
  8869.             /* [iid_is][out] */ void **ppvObject);
  8870.         
  8871.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  8872.             IGraphVersion * This);
  8873.         
  8874.         ULONG ( STDMETHODCALLTYPE *Release )( 
  8875.             IGraphVersion * This);
  8876.         
  8877.         HRESULT ( STDMETHODCALLTYPE *QueryVersion )( 
  8878.             IGraphVersion * This,
  8879.             LONG *pVersion);
  8880.         
  8881.         END_INTERFACE
  8882.     } IGraphVersionVtbl;
  8883.  
  8884.     interface IGraphVersion
  8885.     {
  8886.         CONST_VTBL struct IGraphVersionVtbl *lpVtbl;
  8887.     };
  8888.  
  8889.     
  8890.  
  8891. #ifdef COBJMACROS
  8892.  
  8893.  
  8894. #define IGraphVersion_QueryInterface(This,riid,ppvObject)    \
  8895.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  8896.  
  8897. #define IGraphVersion_AddRef(This)    \
  8898.     (This)->lpVtbl -> AddRef(This)
  8899.  
  8900. #define IGraphVersion_Release(This)    \
  8901.     (This)->lpVtbl -> Release(This)
  8902.  
  8903.  
  8904. #define IGraphVersion_QueryVersion(This,pVersion)    \
  8905.     (This)->lpVtbl -> QueryVersion(This,pVersion)
  8906.  
  8907. #endif /* COBJMACROS */
  8908.  
  8909.  
  8910. #endif     /* C style interface */
  8911.  
  8912.  
  8913.  
  8914. HRESULT STDMETHODCALLTYPE IGraphVersion_QueryVersion_Proxy( 
  8915.     IGraphVersion * This,
  8916.     LONG *pVersion);
  8917.  
  8918.  
  8919. void __RPC_STUB IGraphVersion_QueryVersion_Stub(
  8920.     IRpcStubBuffer *This,
  8921.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8922.     PRPC_MESSAGE _pRpcMessage,
  8923.     DWORD *_pdwStubPhase);
  8924.  
  8925.  
  8926.  
  8927. #endif     /* __IGraphVersion_INTERFACE_DEFINED__ */
  8928.  
  8929.  
  8930. #ifndef __IResourceConsumer_INTERFACE_DEFINED__
  8931. #define __IResourceConsumer_INTERFACE_DEFINED__
  8932.  
  8933. /* interface IResourceConsumer */
  8934. /* [unique][uuid][object] */ 
  8935.  
  8936.  
  8937. EXTERN_C const IID IID_IResourceConsumer;
  8938.  
  8939. #if defined(__cplusplus) && !defined(CINTERFACE)
  8940.     
  8941.     MIDL_INTERFACE("56a868ad-0ad4-11ce-b03a-0020af0ba770")
  8942.     IResourceConsumer : public IUnknown
  8943.     {
  8944.     public:
  8945.         virtual HRESULT STDMETHODCALLTYPE AcquireResource( 
  8946.             /* [in] */ LONG idResource) = 0;
  8947.         
  8948.         virtual HRESULT STDMETHODCALLTYPE ReleaseResource( 
  8949.             /* [in] */ LONG idResource) = 0;
  8950.         
  8951.     };
  8952.     
  8953. #else     /* C style interface */
  8954.  
  8955.     typedef struct IResourceConsumerVtbl
  8956.     {
  8957.         BEGIN_INTERFACE
  8958.         
  8959.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  8960.             IResourceConsumer * This,
  8961.             /* [in] */ REFIID riid,
  8962.             /* [iid_is][out] */ void **ppvObject);
  8963.         
  8964.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  8965.             IResourceConsumer * This);
  8966.         
  8967.         ULONG ( STDMETHODCALLTYPE *Release )( 
  8968.             IResourceConsumer * This);
  8969.         
  8970.         HRESULT ( STDMETHODCALLTYPE *AcquireResource )( 
  8971.             IResourceConsumer * This,
  8972.             /* [in] */ LONG idResource);
  8973.         
  8974.         HRESULT ( STDMETHODCALLTYPE *ReleaseResource )( 
  8975.             IResourceConsumer * This,
  8976.             /* [in] */ LONG idResource);
  8977.         
  8978.         END_INTERFACE
  8979.     } IResourceConsumerVtbl;
  8980.  
  8981.     interface IResourceConsumer
  8982.     {
  8983.         CONST_VTBL struct IResourceConsumerVtbl *lpVtbl;
  8984.     };
  8985.  
  8986.     
  8987.  
  8988. #ifdef COBJMACROS
  8989.  
  8990.  
  8991. #define IResourceConsumer_QueryInterface(This,riid,ppvObject)    \
  8992.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  8993.  
  8994. #define IResourceConsumer_AddRef(This)    \
  8995.     (This)->lpVtbl -> AddRef(This)
  8996.  
  8997. #define IResourceConsumer_Release(This)    \
  8998.     (This)->lpVtbl -> Release(This)
  8999.  
  9000.  
  9001. #define IResourceConsumer_AcquireResource(This,idResource)    \
  9002.     (This)->lpVtbl -> AcquireResource(This,idResource)
  9003.  
  9004. #define IResourceConsumer_ReleaseResource(This,idResource)    \
  9005.     (This)->lpVtbl -> ReleaseResource(This,idResource)
  9006.  
  9007. #endif /* COBJMACROS */
  9008.  
  9009.  
  9010. #endif     /* C style interface */
  9011.  
  9012.  
  9013.  
  9014. HRESULT STDMETHODCALLTYPE IResourceConsumer_AcquireResource_Proxy( 
  9015.     IResourceConsumer * This,
  9016.     /* [in] */ LONG idResource);
  9017.  
  9018.  
  9019. void __RPC_STUB IResourceConsumer_AcquireResource_Stub(
  9020.     IRpcStubBuffer *This,
  9021.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9022.     PRPC_MESSAGE _pRpcMessage,
  9023.     DWORD *_pdwStubPhase);
  9024.  
  9025.  
  9026. HRESULT STDMETHODCALLTYPE IResourceConsumer_ReleaseResource_Proxy( 
  9027.     IResourceConsumer * This,
  9028.     /* [in] */ LONG idResource);
  9029.  
  9030.  
  9031. void __RPC_STUB IResourceConsumer_ReleaseResource_Stub(
  9032.     IRpcStubBuffer *This,
  9033.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9034.     PRPC_MESSAGE _pRpcMessage,
  9035.     DWORD *_pdwStubPhase);
  9036.  
  9037.  
  9038.  
  9039. #endif     /* __IResourceConsumer_INTERFACE_DEFINED__ */
  9040.  
  9041.  
  9042. #ifndef __IResourceManager_INTERFACE_DEFINED__
  9043. #define __IResourceManager_INTERFACE_DEFINED__
  9044.  
  9045. /* interface IResourceManager */
  9046. /* [unique][uuid][object] */ 
  9047.  
  9048.  
  9049. EXTERN_C const IID IID_IResourceManager;
  9050.  
  9051. #if defined(__cplusplus) && !defined(CINTERFACE)
  9052.     
  9053.     MIDL_INTERFACE("56a868ac-0ad4-11ce-b03a-0020af0ba770")
  9054.     IResourceManager : public IUnknown
  9055.     {
  9056.     public:
  9057.         virtual HRESULT STDMETHODCALLTYPE Register( 
  9058.             /* [in] */ LPCWSTR pName,
  9059.             /* [in] */ LONG cResource,
  9060.             /* [out] */ LONG *plToken) = 0;
  9061.         
  9062.         virtual HRESULT STDMETHODCALLTYPE RegisterGroup( 
  9063.             /* [in] */ LPCWSTR pName,
  9064.             /* [in] */ LONG cResource,
  9065.             /* [size_is][in] */ LONG *palTokens,
  9066.             /* [out] */ LONG *plToken) = 0;
  9067.         
  9068.         virtual HRESULT STDMETHODCALLTYPE RequestResource( 
  9069.             /* [in] */ LONG idResource,
  9070.             /* [in] */ IUnknown *pFocusObject,
  9071.             /* [in] */ IResourceConsumer *pConsumer) = 0;
  9072.         
  9073.         virtual HRESULT STDMETHODCALLTYPE NotifyAcquire( 
  9074.             /* [in] */ LONG idResource,
  9075.             /* [in] */ IResourceConsumer *pConsumer,
  9076.             /* [in] */ HRESULT hr) = 0;
  9077.         
  9078.         virtual HRESULT STDMETHODCALLTYPE NotifyRelease( 
  9079.             /* [in] */ LONG idResource,
  9080.             /* [in] */ IResourceConsumer *pConsumer,
  9081.             /* [in] */ BOOL bStillWant) = 0;
  9082.         
  9083.         virtual HRESULT STDMETHODCALLTYPE CancelRequest( 
  9084.             /* [in] */ LONG idResource,
  9085.             /* [in] */ IResourceConsumer *pConsumer) = 0;
  9086.         
  9087.         virtual HRESULT STDMETHODCALLTYPE SetFocus( 
  9088.             /* [in] */ IUnknown *pFocusObject) = 0;
  9089.         
  9090.         virtual HRESULT STDMETHODCALLTYPE ReleaseFocus( 
  9091.             /* [in] */ IUnknown *pFocusObject) = 0;
  9092.         
  9093.     };
  9094.     
  9095. #else     /* C style interface */
  9096.  
  9097.     typedef struct IResourceManagerVtbl
  9098.     {
  9099.         BEGIN_INTERFACE
  9100.         
  9101.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  9102.             IResourceManager * This,
  9103.             /* [in] */ REFIID riid,
  9104.             /* [iid_is][out] */ void **ppvObject);
  9105.         
  9106.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  9107.             IResourceManager * This);
  9108.         
  9109.         ULONG ( STDMETHODCALLTYPE *Release )( 
  9110.             IResourceManager * This);
  9111.         
  9112.         HRESULT ( STDMETHODCALLTYPE *Register )( 
  9113.             IResourceManager * This,
  9114.             /* [in] */ LPCWSTR pName,
  9115.             /* [in] */ LONG cResource,
  9116.             /* [out] */ LONG *plToken);
  9117.         
  9118.         HRESULT ( STDMETHODCALLTYPE *RegisterGroup )( 
  9119.             IResourceManager * This,
  9120.             /* [in] */ LPCWSTR pName,
  9121.             /* [in] */ LONG cResource,
  9122.             /* [size_is][in] */ LONG *palTokens,
  9123.             /* [out] */ LONG *plToken);
  9124.         
  9125.         HRESULT ( STDMETHODCALLTYPE *RequestResource )( 
  9126.             IResourceManager * This,
  9127.             /* [in] */ LONG idResource,
  9128.             /* [in] */ IUnknown *pFocusObject,
  9129.             /* [in] */ IResourceConsumer *pConsumer);
  9130.         
  9131.         HRESULT ( STDMETHODCALLTYPE *NotifyAcquire )( 
  9132.             IResourceManager * This,
  9133.             /* [in] */ LONG idResource,
  9134.             /* [in] */ IResourceConsumer *pConsumer,
  9135.             /* [in] */ HRESULT hr);
  9136.         
  9137.         HRESULT ( STDMETHODCALLTYPE *NotifyRelease )( 
  9138.             IResourceManager * This,
  9139.             /* [in] */ LONG idResource,
  9140.             /* [in] */ IResourceConsumer *pConsumer,
  9141.             /* [in] */ BOOL bStillWant);
  9142.         
  9143.         HRESULT ( STDMETHODCALLTYPE *CancelRequest )( 
  9144.             IResourceManager * This,
  9145.             /* [in] */ LONG idResource,
  9146.             /* [in] */ IResourceConsumer *pConsumer);
  9147.         
  9148.         HRESULT ( STDMETHODCALLTYPE *SetFocus )( 
  9149.             IResourceManager * This,
  9150.             /* [in] */ IUnknown *pFocusObject);
  9151.         
  9152.         HRESULT ( STDMETHODCALLTYPE *ReleaseFocus )( 
  9153.             IResourceManager * This,
  9154.             /* [in] */ IUnknown *pFocusObject);
  9155.         
  9156.         END_INTERFACE
  9157.     } IResourceManagerVtbl;
  9158.  
  9159.     interface IResourceManager
  9160.     {
  9161.         CONST_VTBL struct IResourceManagerVtbl *lpVtbl;
  9162.     };
  9163.  
  9164.     
  9165.  
  9166. #ifdef COBJMACROS
  9167.  
  9168.  
  9169. #define IResourceManager_QueryInterface(This,riid,ppvObject)    \
  9170.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  9171.  
  9172. #define IResourceManager_AddRef(This)    \
  9173.     (This)->lpVtbl -> AddRef(This)
  9174.  
  9175. #define IResourceManager_Release(This)    \
  9176.     (This)->lpVtbl -> Release(This)
  9177.  
  9178.  
  9179. #define IResourceManager_Register(This,pName,cResource,plToken)    \
  9180.     (This)->lpVtbl -> Register(This,pName,cResource,plToken)
  9181.  
  9182. #define IResourceManager_RegisterGroup(This,pName,cResource,palTokens,plToken)    \
  9183.     (This)->lpVtbl -> RegisterGroup(This,pName,cResource,palTokens,plToken)
  9184.  
  9185. #define IResourceManager_RequestResource(This,idResource,pFocusObject,pConsumer)    \
  9186.     (This)->lpVtbl -> RequestResource(This,idResource,pFocusObject,pConsumer)
  9187.  
  9188. #define IResourceManager_NotifyAcquire(This,idResource,pConsumer,hr)    \
  9189.     (This)->lpVtbl -> NotifyAcquire(This,idResource,pConsumer,hr)
  9190.  
  9191. #define IResourceManager_NotifyRelease(This,idResource,pConsumer,bStillWant)    \
  9192.     (This)->lpVtbl -> NotifyRelease(This,idResource,pConsumer,bStillWant)
  9193.  
  9194. #define IResourceManager_CancelRequest(This,idResource,pConsumer)    \
  9195.     (This)->lpVtbl -> CancelRequest(This,idResource,pConsumer)
  9196.  
  9197. #define IResourceManager_SetFocus(This,pFocusObject)    \
  9198.     (This)->lpVtbl -> SetFocus(This,pFocusObject)
  9199.  
  9200. #define IResourceManager_ReleaseFocus(This,pFocusObject)    \
  9201.     (This)->lpVtbl -> ReleaseFocus(This,pFocusObject)
  9202.  
  9203. #endif /* COBJMACROS */
  9204.  
  9205.  
  9206. #endif     /* C style interface */
  9207.  
  9208.  
  9209.  
  9210. HRESULT STDMETHODCALLTYPE IResourceManager_Register_Proxy( 
  9211.     IResourceManager * This,
  9212.     /* [in] */ LPCWSTR pName,
  9213.     /* [in] */ LONG cResource,
  9214.     /* [out] */ LONG *plToken);
  9215.  
  9216.  
  9217. void __RPC_STUB IResourceManager_Register_Stub(
  9218.     IRpcStubBuffer *This,
  9219.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9220.     PRPC_MESSAGE _pRpcMessage,
  9221.     DWORD *_pdwStubPhase);
  9222.  
  9223.  
  9224. HRESULT STDMETHODCALLTYPE IResourceManager_RegisterGroup_Proxy( 
  9225.     IResourceManager * This,
  9226.     /* [in] */ LPCWSTR pName,
  9227.     /* [in] */ LONG cResource,
  9228.     /* [size_is][in] */ LONG *palTokens,
  9229.     /* [out] */ LONG *plToken);
  9230.  
  9231.  
  9232. void __RPC_STUB IResourceManager_RegisterGroup_Stub(
  9233.     IRpcStubBuffer *This,
  9234.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9235.     PRPC_MESSAGE _pRpcMessage,
  9236.     DWORD *_pdwStubPhase);
  9237.  
  9238.  
  9239. HRESULT STDMETHODCALLTYPE IResourceManager_RequestResource_Proxy( 
  9240.     IResourceManager * This,
  9241.     /* [in] */ LONG idResource,
  9242.     /* [in] */ IUnknown *pFocusObject,
  9243.     /* [in] */ IResourceConsumer *pConsumer);
  9244.  
  9245.  
  9246. void __RPC_STUB IResourceManager_RequestResource_Stub(
  9247.     IRpcStubBuffer *This,
  9248.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9249.     PRPC_MESSAGE _pRpcMessage,
  9250.     DWORD *_pdwStubPhase);
  9251.  
  9252.  
  9253. HRESULT STDMETHODCALLTYPE IResourceManager_NotifyAcquire_Proxy( 
  9254.     IResourceManager * This,
  9255.     /* [in] */ LONG idResource,
  9256.     /* [in] */ IResourceConsumer *pConsumer,
  9257.     /* [in] */ HRESULT hr);
  9258.  
  9259.  
  9260. void __RPC_STUB IResourceManager_NotifyAcquire_Stub(
  9261.     IRpcStubBuffer *This,
  9262.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9263.     PRPC_MESSAGE _pRpcMessage,
  9264.     DWORD *_pdwStubPhase);
  9265.  
  9266.  
  9267. HRESULT STDMETHODCALLTYPE IResourceManager_NotifyRelease_Proxy( 
  9268.     IResourceManager * This,
  9269.     /* [in] */ LONG idResource,
  9270.     /* [in] */ IResourceConsumer *pConsumer,
  9271.     /* [in] */ BOOL bStillWant);
  9272.  
  9273.  
  9274. void __RPC_STUB IResourceManager_NotifyRelease_Stub(
  9275.     IRpcStubBuffer *This,
  9276.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9277.     PRPC_MESSAGE _pRpcMessage,
  9278.     DWORD *_pdwStubPhase);
  9279.  
  9280.  
  9281. HRESULT STDMETHODCALLTYPE IResourceManager_CancelRequest_Proxy( 
  9282.     IResourceManager * This,
  9283.     /* [in] */ LONG idResource,
  9284.     /* [in] */ IResourceConsumer *pConsumer);
  9285.  
  9286.  
  9287. void __RPC_STUB IResourceManager_CancelRequest_Stub(
  9288.     IRpcStubBuffer *This,
  9289.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9290.     PRPC_MESSAGE _pRpcMessage,
  9291.     DWORD *_pdwStubPhase);
  9292.  
  9293.  
  9294. HRESULT STDMETHODCALLTYPE IResourceManager_SetFocus_Proxy( 
  9295.     IResourceManager * This,
  9296.     /* [in] */ IUnknown *pFocusObject);
  9297.  
  9298.  
  9299. void __RPC_STUB IResourceManager_SetFocus_Stub(
  9300.     IRpcStubBuffer *This,
  9301.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9302.     PRPC_MESSAGE _pRpcMessage,
  9303.     DWORD *_pdwStubPhase);
  9304.  
  9305.  
  9306. HRESULT STDMETHODCALLTYPE IResourceManager_ReleaseFocus_Proxy( 
  9307.     IResourceManager * This,
  9308.     /* [in] */ IUnknown *pFocusObject);
  9309.  
  9310.  
  9311. void __RPC_STUB IResourceManager_ReleaseFocus_Stub(
  9312.     IRpcStubBuffer *This,
  9313.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9314.     PRPC_MESSAGE _pRpcMessage,
  9315.     DWORD *_pdwStubPhase);
  9316.  
  9317.  
  9318.  
  9319. #endif     /* __IResourceManager_INTERFACE_DEFINED__ */
  9320.  
  9321.  
  9322. #ifndef __IDistributorNotify_INTERFACE_DEFINED__
  9323. #define __IDistributorNotify_INTERFACE_DEFINED__
  9324.  
  9325. /* interface IDistributorNotify */
  9326. /* [unique][uuid][object] */ 
  9327.  
  9328.  
  9329. EXTERN_C const IID IID_IDistributorNotify;
  9330.  
  9331. #if defined(__cplusplus) && !defined(CINTERFACE)
  9332.     
  9333.     MIDL_INTERFACE("56a868af-0ad4-11ce-b03a-0020af0ba770")
  9334.     IDistributorNotify : public IUnknown
  9335.     {
  9336.     public:
  9337.         virtual HRESULT STDMETHODCALLTYPE Stop( void) = 0;
  9338.         
  9339.         virtual HRESULT STDMETHODCALLTYPE Pause( void) = 0;
  9340.         
  9341.         virtual HRESULT STDMETHODCALLTYPE Run( 
  9342.             REFERENCE_TIME tStart) = 0;
  9343.         
  9344.         virtual HRESULT STDMETHODCALLTYPE SetSyncSource( 
  9345.             /* [in] */ IReferenceClock *pClock) = 0;
  9346.         
  9347.         virtual HRESULT STDMETHODCALLTYPE NotifyGraphChange( void) = 0;
  9348.         
  9349.     };
  9350.     
  9351. #else     /* C style interface */
  9352.  
  9353.     typedef struct IDistributorNotifyVtbl
  9354.     {
  9355.         BEGIN_INTERFACE
  9356.         
  9357.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  9358.             IDistributorNotify * This,
  9359.             /* [in] */ REFIID riid,
  9360.             /* [iid_is][out] */ void **ppvObject);
  9361.         
  9362.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  9363.             IDistributorNotify * This);
  9364.         
  9365.         ULONG ( STDMETHODCALLTYPE *Release )( 
  9366.             IDistributorNotify * This);
  9367.         
  9368.         HRESULT ( STDMETHODCALLTYPE *Stop )( 
  9369.             IDistributorNotify * This);
  9370.         
  9371.         HRESULT ( STDMETHODCALLTYPE *Pause )( 
  9372.             IDistributorNotify * This);
  9373.         
  9374.         HRESULT ( STDMETHODCALLTYPE *Run )( 
  9375.             IDistributorNotify * This,
  9376.             REFERENCE_TIME tStart);
  9377.         
  9378.         HRESULT ( STDMETHODCALLTYPE *SetSyncSource )( 
  9379.             IDistributorNotify * This,
  9380.             /* [in] */ IReferenceClock *pClock);
  9381.         
  9382.         HRESULT ( STDMETHODCALLTYPE *NotifyGraphChange )( 
  9383.             IDistributorNotify * This);
  9384.         
  9385.         END_INTERFACE
  9386.     } IDistributorNotifyVtbl;
  9387.  
  9388.     interface IDistributorNotify
  9389.     {
  9390.         CONST_VTBL struct IDistributorNotifyVtbl *lpVtbl;
  9391.     };
  9392.  
  9393.     
  9394.  
  9395. #ifdef COBJMACROS
  9396.  
  9397.  
  9398. #define IDistributorNotify_QueryInterface(This,riid,ppvObject)    \
  9399.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  9400.  
  9401. #define IDistributorNotify_AddRef(This)    \
  9402.     (This)->lpVtbl -> AddRef(This)
  9403.  
  9404. #define IDistributorNotify_Release(This)    \
  9405.     (This)->lpVtbl -> Release(This)
  9406.  
  9407.  
  9408. #define IDistributorNotify_Stop(This)    \
  9409.     (This)->lpVtbl -> Stop(This)
  9410.  
  9411. #define IDistributorNotify_Pause(This)    \
  9412.     (This)->lpVtbl -> Pause(This)
  9413.  
  9414. #define IDistributorNotify_Run(This,tStart)    \
  9415.     (This)->lpVtbl -> Run(This,tStart)
  9416.  
  9417. #define IDistributorNotify_SetSyncSource(This,pClock)    \
  9418.     (This)->lpVtbl -> SetSyncSource(This,pClock)
  9419.  
  9420. #define IDistributorNotify_NotifyGraphChange(This)    \
  9421.     (This)->lpVtbl -> NotifyGraphChange(This)
  9422.  
  9423. #endif /* COBJMACROS */
  9424.  
  9425.  
  9426. #endif     /* C style interface */
  9427.  
  9428.  
  9429.  
  9430. HRESULT STDMETHODCALLTYPE IDistributorNotify_Stop_Proxy( 
  9431.     IDistributorNotify * This);
  9432.  
  9433.  
  9434. void __RPC_STUB IDistributorNotify_Stop_Stub(
  9435.     IRpcStubBuffer *This,
  9436.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9437.     PRPC_MESSAGE _pRpcMessage,
  9438.     DWORD *_pdwStubPhase);
  9439.  
  9440.  
  9441. HRESULT STDMETHODCALLTYPE IDistributorNotify_Pause_Proxy( 
  9442.     IDistributorNotify * This);
  9443.  
  9444.  
  9445. void __RPC_STUB IDistributorNotify_Pause_Stub(
  9446.     IRpcStubBuffer *This,
  9447.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9448.     PRPC_MESSAGE _pRpcMessage,
  9449.     DWORD *_pdwStubPhase);
  9450.  
  9451.  
  9452. HRESULT STDMETHODCALLTYPE IDistributorNotify_Run_Proxy( 
  9453.     IDistributorNotify * This,
  9454.     REFERENCE_TIME tStart);
  9455.  
  9456.  
  9457. void __RPC_STUB IDistributorNotify_Run_Stub(
  9458.     IRpcStubBuffer *This,
  9459.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9460.     PRPC_MESSAGE _pRpcMessage,
  9461.     DWORD *_pdwStubPhase);
  9462.  
  9463.  
  9464. HRESULT STDMETHODCALLTYPE IDistributorNotify_SetSyncSource_Proxy( 
  9465.     IDistributorNotify * This,
  9466.     /* [in] */ IReferenceClock *pClock);
  9467.  
  9468.  
  9469. void __RPC_STUB IDistributorNotify_SetSyncSource_Stub(
  9470.     IRpcStubBuffer *This,
  9471.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9472.     PRPC_MESSAGE _pRpcMessage,
  9473.     DWORD *_pdwStubPhase);
  9474.  
  9475.  
  9476. HRESULT STDMETHODCALLTYPE IDistributorNotify_NotifyGraphChange_Proxy( 
  9477.     IDistributorNotify * This);
  9478.  
  9479.  
  9480. void __RPC_STUB IDistributorNotify_NotifyGraphChange_Stub(
  9481.     IRpcStubBuffer *This,
  9482.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9483.     PRPC_MESSAGE _pRpcMessage,
  9484.     DWORD *_pdwStubPhase);
  9485.  
  9486.  
  9487.  
  9488. #endif     /* __IDistributorNotify_INTERFACE_DEFINED__ */
  9489.  
  9490.  
  9491. /* interface __MIDL_itf_strmif_0151 */
  9492. /* [local] */ 
  9493.  
  9494. typedef /* [public] */ 
  9495. enum __MIDL___MIDL_itf_strmif_0151_0001
  9496.     {    AM_STREAM_INFO_START_DEFINED    = 0x1,
  9497.     AM_STREAM_INFO_STOP_DEFINED    = 0x2,
  9498.     AM_STREAM_INFO_DISCARDING    = 0x4,
  9499.     AM_STREAM_INFO_STOP_SEND_EXTRA    = 0x10
  9500.     }     AM_STREAM_INFO_FLAGS;
  9501.  
  9502. typedef /* [public][public] */ struct __MIDL___MIDL_itf_strmif_0151_0002
  9503.     {
  9504.     REFERENCE_TIME tStart;
  9505.     REFERENCE_TIME tStop;
  9506.     DWORD dwStartCookie;
  9507.     DWORD dwStopCookie;
  9508.     DWORD dwFlags;
  9509.     }     AM_STREAM_INFO;
  9510.  
  9511.  
  9512.  
  9513. extern RPC_IF_HANDLE __MIDL_itf_strmif_0151_v0_0_c_ifspec;
  9514. extern RPC_IF_HANDLE __MIDL_itf_strmif_0151_v0_0_s_ifspec;
  9515.  
  9516. #ifndef __IAMStreamControl_INTERFACE_DEFINED__
  9517. #define __IAMStreamControl_INTERFACE_DEFINED__
  9518.  
  9519. /* interface IAMStreamControl */
  9520. /* [unique][uuid][object] */ 
  9521.  
  9522.  
  9523. EXTERN_C const IID IID_IAMStreamControl;
  9524.  
  9525. #if defined(__cplusplus) && !defined(CINTERFACE)
  9526.     
  9527.     MIDL_INTERFACE("36b73881-c2c8-11cf-8b46-00805f6cef60")
  9528.     IAMStreamControl : public IUnknown
  9529.     {
  9530.     public:
  9531.         virtual HRESULT STDMETHODCALLTYPE StartAt( 
  9532.             /* [in] */ const REFERENCE_TIME *ptStart,
  9533.             /* [in] */ DWORD dwCookie) = 0;
  9534.         
  9535.         virtual HRESULT STDMETHODCALLTYPE StopAt( 
  9536.             /* [in] */ const REFERENCE_TIME *ptStop,
  9537.             /* [in] */ BOOL bSendExtra,
  9538.             /* [in] */ DWORD dwCookie) = 0;
  9539.         
  9540.         virtual HRESULT STDMETHODCALLTYPE GetInfo( 
  9541.             /* [out] */ AM_STREAM_INFO *pInfo) = 0;
  9542.         
  9543.     };
  9544.     
  9545. #else     /* C style interface */
  9546.  
  9547.     typedef struct IAMStreamControlVtbl
  9548.     {
  9549.         BEGIN_INTERFACE
  9550.         
  9551.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  9552.             IAMStreamControl * This,
  9553.             /* [in] */ REFIID riid,
  9554.             /* [iid_is][out] */ void **ppvObject);
  9555.         
  9556.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  9557.             IAMStreamControl * This);
  9558.         
  9559.         ULONG ( STDMETHODCALLTYPE *Release )( 
  9560.             IAMStreamControl * This);
  9561.         
  9562.         HRESULT ( STDMETHODCALLTYPE *StartAt )( 
  9563.             IAMStreamControl * This,
  9564.             /* [in] */ const REFERENCE_TIME *ptStart,
  9565.             /* [in] */ DWORD dwCookie);
  9566.         
  9567.         HRESULT ( STDMETHODCALLTYPE *StopAt )( 
  9568.             IAMStreamControl * This,
  9569.             /* [in] */ const REFERENCE_TIME *ptStop,
  9570.             /* [in] */ BOOL bSendExtra,
  9571.             /* [in] */ DWORD dwCookie);
  9572.         
  9573.         HRESULT ( STDMETHODCALLTYPE *GetInfo )( 
  9574.             IAMStreamControl * This,
  9575.             /* [out] */ AM_STREAM_INFO *pInfo);
  9576.         
  9577.         END_INTERFACE
  9578.     } IAMStreamControlVtbl;
  9579.  
  9580.     interface IAMStreamControl
  9581.     {
  9582.         CONST_VTBL struct IAMStreamControlVtbl *lpVtbl;
  9583.     };
  9584.  
  9585.     
  9586.  
  9587. #ifdef COBJMACROS
  9588.  
  9589.  
  9590. #define IAMStreamControl_QueryInterface(This,riid,ppvObject)    \
  9591.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  9592.  
  9593. #define IAMStreamControl_AddRef(This)    \
  9594.     (This)->lpVtbl -> AddRef(This)
  9595.  
  9596. #define IAMStreamControl_Release(This)    \
  9597.     (This)->lpVtbl -> Release(This)
  9598.  
  9599.  
  9600. #define IAMStreamControl_StartAt(This,ptStart,dwCookie)    \
  9601.     (This)->lpVtbl -> StartAt(This,ptStart,dwCookie)
  9602.  
  9603. #define IAMStreamControl_StopAt(This,ptStop,bSendExtra,dwCookie)    \
  9604.     (This)->lpVtbl -> StopAt(This,ptStop,bSendExtra,dwCookie)
  9605.  
  9606. #define IAMStreamControl_GetInfo(This,pInfo)    \
  9607.     (This)->lpVtbl -> GetInfo(This,pInfo)
  9608.  
  9609. #endif /* COBJMACROS */
  9610.  
  9611.  
  9612. #endif     /* C style interface */
  9613.  
  9614.  
  9615.  
  9616. HRESULT STDMETHODCALLTYPE IAMStreamControl_StartAt_Proxy( 
  9617.     IAMStreamControl * This,
  9618.     /* [in] */ const REFERENCE_TIME *ptStart,
  9619.     /* [in] */ DWORD dwCookie);
  9620.  
  9621.  
  9622. void __RPC_STUB IAMStreamControl_StartAt_Stub(
  9623.     IRpcStubBuffer *This,
  9624.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9625.     PRPC_MESSAGE _pRpcMessage,
  9626.     DWORD *_pdwStubPhase);
  9627.  
  9628.  
  9629. HRESULT STDMETHODCALLTYPE IAMStreamControl_StopAt_Proxy( 
  9630.     IAMStreamControl * This,
  9631.     /* [in] */ const REFERENCE_TIME *ptStop,
  9632.     /* [in] */ BOOL bSendExtra,
  9633.     /* [in] */ DWORD dwCookie);
  9634.  
  9635.  
  9636. void __RPC_STUB IAMStreamControl_StopAt_Stub(
  9637.     IRpcStubBuffer *This,
  9638.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9639.     PRPC_MESSAGE _pRpcMessage,
  9640.     DWORD *_pdwStubPhase);
  9641.  
  9642.  
  9643. HRESULT STDMETHODCALLTYPE IAMStreamControl_GetInfo_Proxy( 
  9644.     IAMStreamControl * This,
  9645.     /* [out] */ AM_STREAM_INFO *pInfo);
  9646.  
  9647.  
  9648. void __RPC_STUB IAMStreamControl_GetInfo_Stub(
  9649.     IRpcStubBuffer *This,
  9650.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9651.     PRPC_MESSAGE _pRpcMessage,
  9652.     DWORD *_pdwStubPhase);
  9653.  
  9654.  
  9655.  
  9656. #endif     /* __IAMStreamControl_INTERFACE_DEFINED__ */
  9657.  
  9658.  
  9659. #ifndef __ISeekingPassThru_INTERFACE_DEFINED__
  9660. #define __ISeekingPassThru_INTERFACE_DEFINED__
  9661.  
  9662. /* interface ISeekingPassThru */
  9663. /* [unique][uuid][object] */ 
  9664.  
  9665.  
  9666. EXTERN_C const IID IID_ISeekingPassThru;
  9667.  
  9668. #if defined(__cplusplus) && !defined(CINTERFACE)
  9669.     
  9670.     MIDL_INTERFACE("36b73883-c2c8-11cf-8b46-00805f6cef60")
  9671.     ISeekingPassThru : public IUnknown
  9672.     {
  9673.     public:
  9674.         virtual HRESULT STDMETHODCALLTYPE Init( 
  9675.             /* [in] */ BOOL bSupportRendering,
  9676.             /* [in] */ IPin *pPin) = 0;
  9677.         
  9678.     };
  9679.     
  9680. #else     /* C style interface */
  9681.  
  9682.     typedef struct ISeekingPassThruVtbl
  9683.     {
  9684.         BEGIN_INTERFACE
  9685.         
  9686.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  9687.             ISeekingPassThru * This,
  9688.             /* [in] */ REFIID riid,
  9689.             /* [iid_is][out] */ void **ppvObject);
  9690.         
  9691.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  9692.             ISeekingPassThru * This);
  9693.         
  9694.         ULONG ( STDMETHODCALLTYPE *Release )( 
  9695.             ISeekingPassThru * This);
  9696.         
  9697.         HRESULT ( STDMETHODCALLTYPE *Init )( 
  9698.             ISeekingPassThru * This,
  9699.             /* [in] */ BOOL bSupportRendering,
  9700.             /* [in] */ IPin *pPin);
  9701.         
  9702.         END_INTERFACE
  9703.     } ISeekingPassThruVtbl;
  9704.  
  9705.     interface ISeekingPassThru
  9706.     {
  9707.         CONST_VTBL struct ISeekingPassThruVtbl *lpVtbl;
  9708.     };
  9709.  
  9710.     
  9711.  
  9712. #ifdef COBJMACROS
  9713.  
  9714.  
  9715. #define ISeekingPassThru_QueryInterface(This,riid,ppvObject)    \
  9716.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  9717.  
  9718. #define ISeekingPassThru_AddRef(This)    \
  9719.     (This)->lpVtbl -> AddRef(This)
  9720.  
  9721. #define ISeekingPassThru_Release(This)    \
  9722.     (This)->lpVtbl -> Release(This)
  9723.  
  9724.  
  9725. #define ISeekingPassThru_Init(This,bSupportRendering,pPin)    \
  9726.     (This)->lpVtbl -> Init(This,bSupportRendering,pPin)
  9727.  
  9728. #endif /* COBJMACROS */
  9729.  
  9730.  
  9731. #endif     /* C style interface */
  9732.  
  9733.  
  9734.  
  9735. HRESULT STDMETHODCALLTYPE ISeekingPassThru_Init_Proxy( 
  9736.     ISeekingPassThru * This,
  9737.     /* [in] */ BOOL bSupportRendering,
  9738.     /* [in] */ IPin *pPin);
  9739.  
  9740.  
  9741. void __RPC_STUB ISeekingPassThru_Init_Stub(
  9742.     IRpcStubBuffer *This,
  9743.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9744.     PRPC_MESSAGE _pRpcMessage,
  9745.     DWORD *_pdwStubPhase);
  9746.  
  9747.  
  9748.  
  9749. #endif     /* __ISeekingPassThru_INTERFACE_DEFINED__ */
  9750.  
  9751.  
  9752. #ifndef __IAMStreamConfig_INTERFACE_DEFINED__
  9753. #define __IAMStreamConfig_INTERFACE_DEFINED__
  9754.  
  9755. /* interface IAMStreamConfig */
  9756. /* [unique][uuid][object] */ 
  9757.  
  9758. typedef struct _VIDEO_STREAM_CONFIG_CAPS
  9759.     {
  9760.     GUID guid;
  9761.     ULONG VideoStandard;
  9762.     SIZE InputSize;
  9763.     SIZE MinCroppingSize;
  9764.     SIZE MaxCroppingSize;
  9765.     int CropGranularityX;
  9766.     int CropGranularityY;
  9767.     int CropAlignX;
  9768.     int CropAlignY;
  9769.     SIZE MinOutputSize;
  9770.     SIZE MaxOutputSize;
  9771.     int OutputGranularityX;
  9772.     int OutputGranularityY;
  9773.     int StretchTapsX;
  9774.     int StretchTapsY;
  9775.     int ShrinkTapsX;
  9776.     int ShrinkTapsY;
  9777.     LONGLONG MinFrameInterval;
  9778.     LONGLONG MaxFrameInterval;
  9779.     LONG MinBitsPerSecond;
  9780.     LONG MaxBitsPerSecond;
  9781.     }     VIDEO_STREAM_CONFIG_CAPS;
  9782.  
  9783. typedef struct _AUDIO_STREAM_CONFIG_CAPS
  9784.     {
  9785.     GUID guid;
  9786.     ULONG MinimumChannels;
  9787.     ULONG MaximumChannels;
  9788.     ULONG ChannelsGranularity;
  9789.     ULONG MinimumBitsPerSample;
  9790.     ULONG MaximumBitsPerSample;
  9791.     ULONG BitsPerSampleGranularity;
  9792.     ULONG MinimumSampleFrequency;
  9793.     ULONG MaximumSampleFrequency;
  9794.     ULONG SampleFrequencyGranularity;
  9795.     }     AUDIO_STREAM_CONFIG_CAPS;
  9796.  
  9797.  
  9798. EXTERN_C const IID IID_IAMStreamConfig;
  9799.  
  9800. #if defined(__cplusplus) && !defined(CINTERFACE)
  9801.     
  9802.     MIDL_INTERFACE("C6E13340-30AC-11d0-A18C-00A0C9118956")
  9803.     IAMStreamConfig : public IUnknown
  9804.     {
  9805.     public:
  9806.         virtual HRESULT STDMETHODCALLTYPE SetFormat( 
  9807.             /* [in] */ AM_MEDIA_TYPE *pmt) = 0;
  9808.         
  9809.         virtual HRESULT STDMETHODCALLTYPE GetFormat( 
  9810.             /* [out] */ AM_MEDIA_TYPE **ppmt) = 0;
  9811.         
  9812.         virtual HRESULT STDMETHODCALLTYPE GetNumberOfCapabilities( 
  9813.             /* [out] */ int *piCount,
  9814.             /* [out] */ int *piSize) = 0;
  9815.         
  9816.         virtual HRESULT STDMETHODCALLTYPE GetStreamCaps( 
  9817.             /* [in] */ int iIndex,
  9818.             /* [out] */ AM_MEDIA_TYPE **ppmt,
  9819.             /* [out] */ BYTE *pSCC) = 0;
  9820.         
  9821.     };
  9822.     
  9823. #else     /* C style interface */
  9824.  
  9825.     typedef struct IAMStreamConfigVtbl
  9826.     {
  9827.         BEGIN_INTERFACE
  9828.         
  9829.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  9830.             IAMStreamConfig * This,
  9831.             /* [in] */ REFIID riid,
  9832.             /* [iid_is][out] */ void **ppvObject);
  9833.         
  9834.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  9835.             IAMStreamConfig * This);
  9836.         
  9837.         ULONG ( STDMETHODCALLTYPE *Release )( 
  9838.             IAMStreamConfig * This);
  9839.         
  9840.         HRESULT ( STDMETHODCALLTYPE *SetFormat )( 
  9841.             IAMStreamConfig * This,
  9842.             /* [in] */ AM_MEDIA_TYPE *pmt);
  9843.         
  9844.         HRESULT ( STDMETHODCALLTYPE *GetFormat )( 
  9845.             IAMStreamConfig * This,
  9846.             /* [out] */ AM_MEDIA_TYPE **ppmt);
  9847.         
  9848.         HRESULT ( STDMETHODCALLTYPE *GetNumberOfCapabilities )( 
  9849.             IAMStreamConfig * This,
  9850.             /* [out] */ int *piCount,
  9851.             /* [out] */ int *piSize);
  9852.         
  9853.         HRESULT ( STDMETHODCALLTYPE *GetStreamCaps )( 
  9854.             IAMStreamConfig * This,
  9855.             /* [in] */ int iIndex,
  9856.             /* [out] */ AM_MEDIA_TYPE **ppmt,
  9857.             /* [out] */ BYTE *pSCC);
  9858.         
  9859.         END_INTERFACE
  9860.     } IAMStreamConfigVtbl;
  9861.  
  9862.     interface IAMStreamConfig
  9863.     {
  9864.         CONST_VTBL struct IAMStreamConfigVtbl *lpVtbl;
  9865.     };
  9866.  
  9867.     
  9868.  
  9869. #ifdef COBJMACROS
  9870.  
  9871.  
  9872. #define IAMStreamConfig_QueryInterface(This,riid,ppvObject)    \
  9873.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  9874.  
  9875. #define IAMStreamConfig_AddRef(This)    \
  9876.     (This)->lpVtbl -> AddRef(This)
  9877.  
  9878. #define IAMStreamConfig_Release(This)    \
  9879.     (This)->lpVtbl -> Release(This)
  9880.  
  9881.  
  9882. #define IAMStreamConfig_SetFormat(This,pmt)    \
  9883.     (This)->lpVtbl -> SetFormat(This,pmt)
  9884.  
  9885. #define IAMStreamConfig_GetFormat(This,ppmt)    \
  9886.     (This)->lpVtbl -> GetFormat(This,ppmt)
  9887.  
  9888. #define IAMStreamConfig_GetNumberOfCapabilities(This,piCount,piSize)    \
  9889.     (This)->lpVtbl -> GetNumberOfCapabilities(This,piCount,piSize)
  9890.  
  9891. #define IAMStreamConfig_GetStreamCaps(This,iIndex,ppmt,pSCC)    \
  9892.     (This)->lpVtbl -> GetStreamCaps(This,iIndex,ppmt,pSCC)
  9893.  
  9894. #endif /* COBJMACROS */
  9895.  
  9896.  
  9897. #endif     /* C style interface */
  9898.  
  9899.  
  9900.  
  9901. HRESULT STDMETHODCALLTYPE IAMStreamConfig_SetFormat_Proxy( 
  9902.     IAMStreamConfig * This,
  9903.     /* [in] */ AM_MEDIA_TYPE *pmt);
  9904.  
  9905.  
  9906. void __RPC_STUB IAMStreamConfig_SetFormat_Stub(
  9907.     IRpcStubBuffer *This,
  9908.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9909.     PRPC_MESSAGE _pRpcMessage,
  9910.     DWORD *_pdwStubPhase);
  9911.  
  9912.  
  9913. HRESULT STDMETHODCALLTYPE IAMStreamConfig_GetFormat_Proxy( 
  9914.     IAMStreamConfig * This,
  9915.     /* [out] */ AM_MEDIA_TYPE **ppmt);
  9916.  
  9917.  
  9918. void __RPC_STUB IAMStreamConfig_GetFormat_Stub(
  9919.     IRpcStubBuffer *This,
  9920.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9921.     PRPC_MESSAGE _pRpcMessage,
  9922.     DWORD *_pdwStubPhase);
  9923.  
  9924.  
  9925. HRESULT STDMETHODCALLTYPE IAMStreamConfig_GetNumberOfCapabilities_Proxy( 
  9926.     IAMStreamConfig * This,
  9927.     /* [out] */ int *piCount,
  9928.     /* [out] */ int *piSize);
  9929.  
  9930.  
  9931. void __RPC_STUB IAMStreamConfig_GetNumberOfCapabilities_Stub(
  9932.     IRpcStubBuffer *This,
  9933.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9934.     PRPC_MESSAGE _pRpcMessage,
  9935.     DWORD *_pdwStubPhase);
  9936.  
  9937.  
  9938. HRESULT STDMETHODCALLTYPE IAMStreamConfig_GetStreamCaps_Proxy( 
  9939.     IAMStreamConfig * This,
  9940.     /* [in] */ int iIndex,
  9941.     /* [out] */ AM_MEDIA_TYPE **ppmt,
  9942.     /* [out] */ BYTE *pSCC);
  9943.  
  9944.  
  9945. void __RPC_STUB IAMStreamConfig_GetStreamCaps_Stub(
  9946.     IRpcStubBuffer *This,
  9947.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9948.     PRPC_MESSAGE _pRpcMessage,
  9949.     DWORD *_pdwStubPhase);
  9950.  
  9951.  
  9952.  
  9953. #endif     /* __IAMStreamConfig_INTERFACE_DEFINED__ */
  9954.  
  9955.  
  9956. #ifndef __IConfigInterleaving_INTERFACE_DEFINED__
  9957. #define __IConfigInterleaving_INTERFACE_DEFINED__
  9958.  
  9959. /* interface IConfigInterleaving */
  9960. /* [unique][uuid][object] */ 
  9961.  
  9962. typedef /* [public][public][public] */ 
  9963. enum __MIDL_IConfigInterleaving_0001
  9964.     {    INTERLEAVE_NONE    = 0,
  9965.     INTERLEAVE_CAPTURE    = INTERLEAVE_NONE + 1,
  9966.     INTERLEAVE_FULL    = INTERLEAVE_CAPTURE + 1
  9967.     }     InterleavingMode;
  9968.  
  9969.  
  9970. EXTERN_C const IID IID_IConfigInterleaving;
  9971.  
  9972. #if defined(__cplusplus) && !defined(CINTERFACE)
  9973.     
  9974.     MIDL_INTERFACE("BEE3D220-157B-11d0-BD23-00A0C911CE86")
  9975.     IConfigInterleaving : public IUnknown
  9976.     {
  9977.     public:
  9978.         virtual HRESULT STDMETHODCALLTYPE put_Mode( 
  9979.             /* [in] */ InterleavingMode mode) = 0;
  9980.         
  9981.         virtual HRESULT STDMETHODCALLTYPE get_Mode( 
  9982.             /* [out] */ InterleavingMode *pMode) = 0;
  9983.         
  9984.         virtual HRESULT STDMETHODCALLTYPE put_Interleaving( 
  9985.             /* [in] */ const REFERENCE_TIME *prtInterleave,
  9986.             /* [in] */ const REFERENCE_TIME *prtPreroll) = 0;
  9987.         
  9988.         virtual HRESULT STDMETHODCALLTYPE get_Interleaving( 
  9989.             /* [out] */ REFERENCE_TIME *prtInterleave,
  9990.             /* [out] */ REFERENCE_TIME *prtPreroll) = 0;
  9991.         
  9992.     };
  9993.     
  9994. #else     /* C style interface */
  9995.  
  9996.     typedef struct IConfigInterleavingVtbl
  9997.     {
  9998.         BEGIN_INTERFACE
  9999.         
  10000.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  10001.             IConfigInterleaving * This,
  10002.             /* [in] */ REFIID riid,
  10003.             /* [iid_is][out] */ void **ppvObject);
  10004.         
  10005.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  10006.             IConfigInterleaving * This);
  10007.         
  10008.         ULONG ( STDMETHODCALLTYPE *Release )( 
  10009.             IConfigInterleaving * This);
  10010.         
  10011.         HRESULT ( STDMETHODCALLTYPE *put_Mode )( 
  10012.             IConfigInterleaving * This,
  10013.             /* [in] */ InterleavingMode mode);
  10014.         
  10015.         HRESULT ( STDMETHODCALLTYPE *get_Mode )( 
  10016.             IConfigInterleaving * This,
  10017.             /* [out] */ InterleavingMode *pMode);
  10018.         
  10019.         HRESULT ( STDMETHODCALLTYPE *put_Interleaving )( 
  10020.             IConfigInterleaving * This,
  10021.             /* [in] */ const REFERENCE_TIME *prtInterleave,
  10022.             /* [in] */ const REFERENCE_TIME *prtPreroll);
  10023.         
  10024.         HRESULT ( STDMETHODCALLTYPE *get_Interleaving )( 
  10025.             IConfigInterleaving * This,
  10026.             /* [out] */ REFERENCE_TIME *prtInterleave,
  10027.             /* [out] */ REFERENCE_TIME *prtPreroll);
  10028.         
  10029.         END_INTERFACE
  10030.     } IConfigInterleavingVtbl;
  10031.  
  10032.     interface IConfigInterleaving
  10033.     {
  10034.         CONST_VTBL struct IConfigInterleavingVtbl *lpVtbl;
  10035.     };
  10036.  
  10037.     
  10038.  
  10039. #ifdef COBJMACROS
  10040.  
  10041.  
  10042. #define IConfigInterleaving_QueryInterface(This,riid,ppvObject)    \
  10043.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  10044.  
  10045. #define IConfigInterleaving_AddRef(This)    \
  10046.     (This)->lpVtbl -> AddRef(This)
  10047.  
  10048. #define IConfigInterleaving_Release(This)    \
  10049.     (This)->lpVtbl -> Release(This)
  10050.  
  10051.  
  10052. #define IConfigInterleaving_put_Mode(This,mode)    \
  10053.     (This)->lpVtbl -> put_Mode(This,mode)
  10054.  
  10055. #define IConfigInterleaving_get_Mode(This,pMode)    \
  10056.     (This)->lpVtbl -> get_Mode(This,pMode)
  10057.  
  10058. #define IConfigInterleaving_put_Interleaving(This,prtInterleave,prtPreroll)    \
  10059.     (This)->lpVtbl -> put_Interleaving(This,prtInterleave,prtPreroll)
  10060.  
  10061. #define IConfigInterleaving_get_Interleaving(This,prtInterleave,prtPreroll)    \
  10062.     (This)->lpVtbl -> get_Interleaving(This,prtInterleave,prtPreroll)
  10063.  
  10064. #endif /* COBJMACROS */
  10065.  
  10066.  
  10067. #endif     /* C style interface */
  10068.  
  10069.  
  10070.  
  10071. HRESULT STDMETHODCALLTYPE IConfigInterleaving_put_Mode_Proxy( 
  10072.     IConfigInterleaving * This,
  10073.     /* [in] */ InterleavingMode mode);
  10074.  
  10075.  
  10076. void __RPC_STUB IConfigInterleaving_put_Mode_Stub(
  10077.     IRpcStubBuffer *This,
  10078.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10079.     PRPC_MESSAGE _pRpcMessage,
  10080.     DWORD *_pdwStubPhase);
  10081.  
  10082.  
  10083. HRESULT STDMETHODCALLTYPE IConfigInterleaving_get_Mode_Proxy( 
  10084.     IConfigInterleaving * This,
  10085.     /* [out] */ InterleavingMode *pMode);
  10086.  
  10087.  
  10088. void __RPC_STUB IConfigInterleaving_get_Mode_Stub(
  10089.     IRpcStubBuffer *This,
  10090.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10091.     PRPC_MESSAGE _pRpcMessage,
  10092.     DWORD *_pdwStubPhase);
  10093.  
  10094.  
  10095. HRESULT STDMETHODCALLTYPE IConfigInterleaving_put_Interleaving_Proxy( 
  10096.     IConfigInterleaving * This,
  10097.     /* [in] */ const REFERENCE_TIME *prtInterleave,
  10098.     /* [in] */ const REFERENCE_TIME *prtPreroll);
  10099.  
  10100.  
  10101. void __RPC_STUB IConfigInterleaving_put_Interleaving_Stub(
  10102.     IRpcStubBuffer *This,
  10103.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10104.     PRPC_MESSAGE _pRpcMessage,
  10105.     DWORD *_pdwStubPhase);
  10106.  
  10107.  
  10108. HRESULT STDMETHODCALLTYPE IConfigInterleaving_get_Interleaving_Proxy( 
  10109.     IConfigInterleaving * This,
  10110.     /* [out] */ REFERENCE_TIME *prtInterleave,
  10111.     /* [out] */ REFERENCE_TIME *prtPreroll);
  10112.  
  10113.  
  10114. void __RPC_STUB IConfigInterleaving_get_Interleaving_Stub(
  10115.     IRpcStubBuffer *This,
  10116.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10117.     PRPC_MESSAGE _pRpcMessage,
  10118.     DWORD *_pdwStubPhase);
  10119.  
  10120.  
  10121.  
  10122. #endif     /* __IConfigInterleaving_INTERFACE_DEFINED__ */
  10123.  
  10124.  
  10125. #ifndef __IConfigAviMux_INTERFACE_DEFINED__
  10126. #define __IConfigAviMux_INTERFACE_DEFINED__
  10127.  
  10128. /* interface IConfigAviMux */
  10129. /* [unique][uuid][object] */ 
  10130.  
  10131.  
  10132. EXTERN_C const IID IID_IConfigAviMux;
  10133.  
  10134. #if defined(__cplusplus) && !defined(CINTERFACE)
  10135.     
  10136.     MIDL_INTERFACE("5ACD6AA0-F482-11ce-8B67-00AA00A3F1A6")
  10137.     IConfigAviMux : public IUnknown
  10138.     {
  10139.     public:
  10140.         virtual HRESULT STDMETHODCALLTYPE SetMasterStream( 
  10141.             /* [in] */ LONG iStream) = 0;
  10142.         
  10143.         virtual HRESULT STDMETHODCALLTYPE GetMasterStream( 
  10144.             /* [out] */ LONG *pStream) = 0;
  10145.         
  10146.         virtual HRESULT STDMETHODCALLTYPE SetOutputCompatibilityIndex( 
  10147.             /* [in] */ BOOL fOldIndex) = 0;
  10148.         
  10149.         virtual HRESULT STDMETHODCALLTYPE GetOutputCompatibilityIndex( 
  10150.             /* [out] */ BOOL *pfOldIndex) = 0;
  10151.         
  10152.     };
  10153.     
  10154. #else     /* C style interface */
  10155.  
  10156.     typedef struct IConfigAviMuxVtbl
  10157.     {
  10158.         BEGIN_INTERFACE
  10159.         
  10160.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  10161.             IConfigAviMux * This,
  10162.             /* [in] */ REFIID riid,
  10163.             /* [iid_is][out] */ void **ppvObject);
  10164.         
  10165.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  10166.             IConfigAviMux * This);
  10167.         
  10168.         ULONG ( STDMETHODCALLTYPE *Release )( 
  10169.             IConfigAviMux * This);
  10170.         
  10171.         HRESULT ( STDMETHODCALLTYPE *SetMasterStream )( 
  10172.             IConfigAviMux * This,
  10173.             /* [in] */ LONG iStream);
  10174.         
  10175.         HRESULT ( STDMETHODCALLTYPE *GetMasterStream )( 
  10176.             IConfigAviMux * This,
  10177.             /* [out] */ LONG *pStream);
  10178.         
  10179.         HRESULT ( STDMETHODCALLTYPE *SetOutputCompatibilityIndex )( 
  10180.             IConfigAviMux * This,
  10181.             /* [in] */ BOOL fOldIndex);
  10182.         
  10183.         HRESULT ( STDMETHODCALLTYPE *GetOutputCompatibilityIndex )( 
  10184.             IConfigAviMux * This,
  10185.             /* [out] */ BOOL *pfOldIndex);
  10186.         
  10187.         END_INTERFACE
  10188.     } IConfigAviMuxVtbl;
  10189.  
  10190.     interface IConfigAviMux
  10191.     {
  10192.         CONST_VTBL struct IConfigAviMuxVtbl *lpVtbl;
  10193.     };
  10194.  
  10195.     
  10196.  
  10197. #ifdef COBJMACROS
  10198.  
  10199.  
  10200. #define IConfigAviMux_QueryInterface(This,riid,ppvObject)    \
  10201.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  10202.  
  10203. #define IConfigAviMux_AddRef(This)    \
  10204.     (This)->lpVtbl -> AddRef(This)
  10205.  
  10206. #define IConfigAviMux_Release(This)    \
  10207.     (This)->lpVtbl -> Release(This)
  10208.  
  10209.  
  10210. #define IConfigAviMux_SetMasterStream(This,iStream)    \
  10211.     (This)->lpVtbl -> SetMasterStream(This,iStream)
  10212.  
  10213. #define IConfigAviMux_GetMasterStream(This,pStream)    \
  10214.     (This)->lpVtbl -> GetMasterStream(This,pStream)
  10215.  
  10216. #define IConfigAviMux_SetOutputCompatibilityIndex(This,fOldIndex)    \
  10217.     (This)->lpVtbl -> SetOutputCompatibilityIndex(This,fOldIndex)
  10218.  
  10219. #define IConfigAviMux_GetOutputCompatibilityIndex(This,pfOldIndex)    \
  10220.     (This)->lpVtbl -> GetOutputCompatibilityIndex(This,pfOldIndex)
  10221.  
  10222. #endif /* COBJMACROS */
  10223.  
  10224.  
  10225. #endif     /* C style interface */
  10226.  
  10227.  
  10228.  
  10229. HRESULT STDMETHODCALLTYPE IConfigAviMux_SetMasterStream_Proxy( 
  10230.     IConfigAviMux * This,
  10231.     /* [in] */ LONG iStream);
  10232.  
  10233.  
  10234. void __RPC_STUB IConfigAviMux_SetMasterStream_Stub(
  10235.     IRpcStubBuffer *This,
  10236.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10237.     PRPC_MESSAGE _pRpcMessage,
  10238.     DWORD *_pdwStubPhase);
  10239.  
  10240.  
  10241. HRESULT STDMETHODCALLTYPE IConfigAviMux_GetMasterStream_Proxy( 
  10242.     IConfigAviMux * This,
  10243.     /* [out] */ LONG *pStream);
  10244.  
  10245.  
  10246. void __RPC_STUB IConfigAviMux_GetMasterStream_Stub(
  10247.     IRpcStubBuffer *This,
  10248.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10249.     PRPC_MESSAGE _pRpcMessage,
  10250.     DWORD *_pdwStubPhase);
  10251.  
  10252.  
  10253. HRESULT STDMETHODCALLTYPE IConfigAviMux_SetOutputCompatibilityIndex_Proxy( 
  10254.     IConfigAviMux * This,
  10255.     /* [in] */ BOOL fOldIndex);
  10256.  
  10257.  
  10258. void __RPC_STUB IConfigAviMux_SetOutputCompatibilityIndex_Stub(
  10259.     IRpcStubBuffer *This,
  10260.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10261.     PRPC_MESSAGE _pRpcMessage,
  10262.     DWORD *_pdwStubPhase);
  10263.  
  10264.  
  10265. HRESULT STDMETHODCALLTYPE IConfigAviMux_GetOutputCompatibilityIndex_Proxy( 
  10266.     IConfigAviMux * This,
  10267.     /* [out] */ BOOL *pfOldIndex);
  10268.  
  10269.  
  10270. void __RPC_STUB IConfigAviMux_GetOutputCompatibilityIndex_Stub(
  10271.     IRpcStubBuffer *This,
  10272.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10273.     PRPC_MESSAGE _pRpcMessage,
  10274.     DWORD *_pdwStubPhase);
  10275.  
  10276.  
  10277.  
  10278. #endif     /* __IConfigAviMux_INTERFACE_DEFINED__ */
  10279.  
  10280.  
  10281. /* interface __MIDL_itf_strmif_0158 */
  10282. /* [local] */ 
  10283.  
  10284. typedef /* [public] */ 
  10285. enum __MIDL___MIDL_itf_strmif_0158_0001
  10286.     {    CompressionCaps_CanQuality    = 0x1,
  10287.     CompressionCaps_CanCrunch    = 0x2,
  10288.     CompressionCaps_CanKeyFrame    = 0x4,
  10289.     CompressionCaps_CanBFrame    = 0x8,
  10290.     CompressionCaps_CanWindow    = 0x10
  10291.     }     CompressionCaps;
  10292.  
  10293.  
  10294.  
  10295. extern RPC_IF_HANDLE __MIDL_itf_strmif_0158_v0_0_c_ifspec;
  10296. extern RPC_IF_HANDLE __MIDL_itf_strmif_0158_v0_0_s_ifspec;
  10297.  
  10298. #ifndef __IAMVideoCompression_INTERFACE_DEFINED__
  10299. #define __IAMVideoCompression_INTERFACE_DEFINED__
  10300.  
  10301. /* interface IAMVideoCompression */
  10302. /* [unique][uuid][object] */ 
  10303.  
  10304.  
  10305. EXTERN_C const IID IID_IAMVideoCompression;
  10306.  
  10307. #if defined(__cplusplus) && !defined(CINTERFACE)
  10308.     
  10309.     MIDL_INTERFACE("C6E13343-30AC-11d0-A18C-00A0C9118956")
  10310.     IAMVideoCompression : public IUnknown
  10311.     {
  10312.     public:
  10313.         virtual HRESULT STDMETHODCALLTYPE put_KeyFrameRate( 
  10314.             /* [in] */ long KeyFrameRate) = 0;
  10315.         
  10316.         virtual HRESULT STDMETHODCALLTYPE get_KeyFrameRate( 
  10317.             /* [out] */ long *pKeyFrameRate) = 0;
  10318.         
  10319.         virtual HRESULT STDMETHODCALLTYPE put_PFramesPerKeyFrame( 
  10320.             /* [in] */ long PFramesPerKeyFrame) = 0;
  10321.         
  10322.         virtual HRESULT STDMETHODCALLTYPE get_PFramesPerKeyFrame( 
  10323.             /* [out] */ long *pPFramesPerKeyFrame) = 0;
  10324.         
  10325.         virtual HRESULT STDMETHODCALLTYPE put_Quality( 
  10326.             /* [in] */ double Quality) = 0;
  10327.         
  10328.         virtual HRESULT STDMETHODCALLTYPE get_Quality( 
  10329.             /* [out] */ double *pQuality) = 0;
  10330.         
  10331.         virtual HRESULT STDMETHODCALLTYPE put_WindowSize( 
  10332.             /* [in] */ DWORDLONG WindowSize) = 0;
  10333.         
  10334.         virtual HRESULT STDMETHODCALLTYPE get_WindowSize( 
  10335.             /* [out] */ DWORDLONG *pWindowSize) = 0;
  10336.         
  10337.         virtual HRESULT STDMETHODCALLTYPE GetInfo( 
  10338.             /* [size_is][out] */ WCHAR *pszVersion,
  10339.             /* [out][in] */ int *pcbVersion,
  10340.             /* [size_is][out] */ LPWSTR pszDescription,
  10341.             /* [out][in] */ int *pcbDescription,
  10342.             /* [out] */ long *pDefaultKeyFrameRate,
  10343.             /* [out] */ long *pDefaultPFramesPerKey,
  10344.             /* [out] */ double *pDefaultQuality,
  10345.             /* [out] */ long *pCapabilities) = 0;
  10346.         
  10347.         virtual HRESULT STDMETHODCALLTYPE OverrideKeyFrame( 
  10348.             /* [in] */ long FrameNumber) = 0;
  10349.         
  10350.         virtual HRESULT STDMETHODCALLTYPE OverrideFrameSize( 
  10351.             /* [in] */ long FrameNumber,
  10352.             /* [in] */ long Size) = 0;
  10353.         
  10354.     };
  10355.     
  10356. #else     /* C style interface */
  10357.  
  10358.     typedef struct IAMVideoCompressionVtbl
  10359.     {
  10360.         BEGIN_INTERFACE
  10361.         
  10362.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  10363.             IAMVideoCompression * This,
  10364.             /* [in] */ REFIID riid,
  10365.             /* [iid_is][out] */ void **ppvObject);
  10366.         
  10367.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  10368.             IAMVideoCompression * This);
  10369.         
  10370.         ULONG ( STDMETHODCALLTYPE *Release )( 
  10371.             IAMVideoCompression * This);
  10372.         
  10373.         HRESULT ( STDMETHODCALLTYPE *put_KeyFrameRate )( 
  10374.             IAMVideoCompression * This,
  10375.             /* [in] */ long KeyFrameRate);
  10376.         
  10377.         HRESULT ( STDMETHODCALLTYPE *get_KeyFrameRate )( 
  10378.             IAMVideoCompression * This,
  10379.             /* [out] */ long *pKeyFrameRate);
  10380.         
  10381.         HRESULT ( STDMETHODCALLTYPE *put_PFramesPerKeyFrame )( 
  10382.             IAMVideoCompression * This,
  10383.             /* [in] */ long PFramesPerKeyFrame);
  10384.         
  10385.         HRESULT ( STDMETHODCALLTYPE *get_PFramesPerKeyFrame )( 
  10386.             IAMVideoCompression * This,
  10387.             /* [out] */ long *pPFramesPerKeyFrame);
  10388.         
  10389.         HRESULT ( STDMETHODCALLTYPE *put_Quality )( 
  10390.             IAMVideoCompression * This,
  10391.             /* [in] */ double Quality);
  10392.         
  10393.         HRESULT ( STDMETHODCALLTYPE *get_Quality )( 
  10394.             IAMVideoCompression * This,
  10395.             /* [out] */ double *pQuality);
  10396.         
  10397.         HRESULT ( STDMETHODCALLTYPE *put_WindowSize )( 
  10398.             IAMVideoCompression * This,
  10399.             /* [in] */ DWORDLONG WindowSize);
  10400.         
  10401.         HRESULT ( STDMETHODCALLTYPE *get_WindowSize )( 
  10402.             IAMVideoCompression * This,
  10403.             /* [out] */ DWORDLONG *pWindowSize);
  10404.         
  10405.         HRESULT ( STDMETHODCALLTYPE *GetInfo )( 
  10406.             IAMVideoCompression * This,
  10407.             /* [size_is][out] */ WCHAR *pszVersion,
  10408.             /* [out][in] */ int *pcbVersion,
  10409.             /* [size_is][out] */ LPWSTR pszDescription,
  10410.             /* [out][in] */ int *pcbDescription,
  10411.             /* [out] */ long *pDefaultKeyFrameRate,
  10412.             /* [out] */ long *pDefaultPFramesPerKey,
  10413.             /* [out] */ double *pDefaultQuality,
  10414.             /* [out] */ long *pCapabilities);
  10415.         
  10416.         HRESULT ( STDMETHODCALLTYPE *OverrideKeyFrame )( 
  10417.             IAMVideoCompression * This,
  10418.             /* [in] */ long FrameNumber);
  10419.         
  10420.         HRESULT ( STDMETHODCALLTYPE *OverrideFrameSize )( 
  10421.             IAMVideoCompression * This,
  10422.             /* [in] */ long FrameNumber,
  10423.             /* [in] */ long Size);
  10424.         
  10425.         END_INTERFACE
  10426.     } IAMVideoCompressionVtbl;
  10427.  
  10428.     interface IAMVideoCompression
  10429.     {
  10430.         CONST_VTBL struct IAMVideoCompressionVtbl *lpVtbl;
  10431.     };
  10432.  
  10433.     
  10434.  
  10435. #ifdef COBJMACROS
  10436.  
  10437.  
  10438. #define IAMVideoCompression_QueryInterface(This,riid,ppvObject)    \
  10439.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  10440.  
  10441. #define IAMVideoCompression_AddRef(This)    \
  10442.     (This)->lpVtbl -> AddRef(This)
  10443.  
  10444. #define IAMVideoCompression_Release(This)    \
  10445.     (This)->lpVtbl -> Release(This)
  10446.  
  10447.  
  10448. #define IAMVideoCompression_put_KeyFrameRate(This,KeyFrameRate)    \
  10449.     (This)->lpVtbl -> put_KeyFrameRate(This,KeyFrameRate)
  10450.  
  10451. #define IAMVideoCompression_get_KeyFrameRate(This,pKeyFrameRate)    \
  10452.     (This)->lpVtbl -> get_KeyFrameRate(This,pKeyFrameRate)
  10453.  
  10454. #define IAMVideoCompression_put_PFramesPerKeyFrame(This,PFramesPerKeyFrame)    \
  10455.     (This)->lpVtbl -> put_PFramesPerKeyFrame(This,PFramesPerKeyFrame)
  10456.  
  10457. #define IAMVideoCompression_get_PFramesPerKeyFrame(This,pPFramesPerKeyFrame)    \
  10458.     (This)->lpVtbl -> get_PFramesPerKeyFrame(This,pPFramesPerKeyFrame)
  10459.  
  10460. #define IAMVideoCompression_put_Quality(This,Quality)    \
  10461.     (This)->lpVtbl -> put_Quality(This,Quality)
  10462.  
  10463. #define IAMVideoCompression_get_Quality(This,pQuality)    \
  10464.     (This)->lpVtbl -> get_Quality(This,pQuality)
  10465.  
  10466. #define IAMVideoCompression_put_WindowSize(This,WindowSize)    \
  10467.     (This)->lpVtbl -> put_WindowSize(This,WindowSize)
  10468.  
  10469. #define IAMVideoCompression_get_WindowSize(This,pWindowSize)    \
  10470.     (This)->lpVtbl -> get_WindowSize(This,pWindowSize)
  10471.  
  10472. #define IAMVideoCompression_GetInfo(This,pszVersion,pcbVersion,pszDescription,pcbDescription,pDefaultKeyFrameRate,pDefaultPFramesPerKey,pDefaultQuality,pCapabilities)    \
  10473.     (This)->lpVtbl -> GetInfo(This,pszVersion,pcbVersion,pszDescription,pcbDescription,pDefaultKeyFrameRate,pDefaultPFramesPerKey,pDefaultQuality,pCapabilities)
  10474.  
  10475. #define IAMVideoCompression_OverrideKeyFrame(This,FrameNumber)    \
  10476.     (This)->lpVtbl -> OverrideKeyFrame(This,FrameNumber)
  10477.  
  10478. #define IAMVideoCompression_OverrideFrameSize(This,FrameNumber,Size)    \
  10479.     (This)->lpVtbl -> OverrideFrameSize(This,FrameNumber,Size)
  10480.  
  10481. #endif /* COBJMACROS */
  10482.  
  10483.  
  10484. #endif     /* C style interface */
  10485.  
  10486.  
  10487.  
  10488. HRESULT STDMETHODCALLTYPE IAMVideoCompression_put_KeyFrameRate_Proxy( 
  10489.     IAMVideoCompression * This,
  10490.     /* [in] */ long KeyFrameRate);
  10491.  
  10492.  
  10493. void __RPC_STUB IAMVideoCompression_put_KeyFrameRate_Stub(
  10494.     IRpcStubBuffer *This,
  10495.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10496.     PRPC_MESSAGE _pRpcMessage,
  10497.     DWORD *_pdwStubPhase);
  10498.  
  10499.  
  10500. HRESULT STDMETHODCALLTYPE IAMVideoCompression_get_KeyFrameRate_Proxy( 
  10501.     IAMVideoCompression * This,
  10502.     /* [out] */ long *pKeyFrameRate);
  10503.  
  10504.  
  10505. void __RPC_STUB IAMVideoCompression_get_KeyFrameRate_Stub(
  10506.     IRpcStubBuffer *This,
  10507.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10508.     PRPC_MESSAGE _pRpcMessage,
  10509.     DWORD *_pdwStubPhase);
  10510.  
  10511.  
  10512. HRESULT STDMETHODCALLTYPE IAMVideoCompression_put_PFramesPerKeyFrame_Proxy( 
  10513.     IAMVideoCompression * This,
  10514.     /* [in] */ long PFramesPerKeyFrame);
  10515.  
  10516.  
  10517. void __RPC_STUB IAMVideoCompression_put_PFramesPerKeyFrame_Stub(
  10518.     IRpcStubBuffer *This,
  10519.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10520.     PRPC_MESSAGE _pRpcMessage,
  10521.     DWORD *_pdwStubPhase);
  10522.  
  10523.  
  10524. HRESULT STDMETHODCALLTYPE IAMVideoCompression_get_PFramesPerKeyFrame_Proxy( 
  10525.     IAMVideoCompression * This,
  10526.     /* [out] */ long *pPFramesPerKeyFrame);
  10527.  
  10528.  
  10529. void __RPC_STUB IAMVideoCompression_get_PFramesPerKeyFrame_Stub(
  10530.     IRpcStubBuffer *This,
  10531.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10532.     PRPC_MESSAGE _pRpcMessage,
  10533.     DWORD *_pdwStubPhase);
  10534.  
  10535.  
  10536. HRESULT STDMETHODCALLTYPE IAMVideoCompression_put_Quality_Proxy( 
  10537.     IAMVideoCompression * This,
  10538.     /* [in] */ double Quality);
  10539.  
  10540.  
  10541. void __RPC_STUB IAMVideoCompression_put_Quality_Stub(
  10542.     IRpcStubBuffer *This,
  10543.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10544.     PRPC_MESSAGE _pRpcMessage,
  10545.     DWORD *_pdwStubPhase);
  10546.  
  10547.  
  10548. HRESULT STDMETHODCALLTYPE IAMVideoCompression_get_Quality_Proxy( 
  10549.     IAMVideoCompression * This,
  10550.     /* [out] */ double *pQuality);
  10551.  
  10552.  
  10553. void __RPC_STUB IAMVideoCompression_get_Quality_Stub(
  10554.     IRpcStubBuffer *This,
  10555.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10556.     PRPC_MESSAGE _pRpcMessage,
  10557.     DWORD *_pdwStubPhase);
  10558.  
  10559.  
  10560. HRESULT STDMETHODCALLTYPE IAMVideoCompression_put_WindowSize_Proxy( 
  10561.     IAMVideoCompression * This,
  10562.     /* [in] */ DWORDLONG WindowSize);
  10563.  
  10564.  
  10565. void __RPC_STUB IAMVideoCompression_put_WindowSize_Stub(
  10566.     IRpcStubBuffer *This,
  10567.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10568.     PRPC_MESSAGE _pRpcMessage,
  10569.     DWORD *_pdwStubPhase);
  10570.  
  10571.  
  10572. HRESULT STDMETHODCALLTYPE IAMVideoCompression_get_WindowSize_Proxy( 
  10573.     IAMVideoCompression * This,
  10574.     /* [out] */ DWORDLONG *pWindowSize);
  10575.  
  10576.  
  10577. void __RPC_STUB IAMVideoCompression_get_WindowSize_Stub(
  10578.     IRpcStubBuffer *This,
  10579.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10580.     PRPC_MESSAGE _pRpcMessage,
  10581.     DWORD *_pdwStubPhase);
  10582.  
  10583.  
  10584. HRESULT STDMETHODCALLTYPE IAMVideoCompression_GetInfo_Proxy( 
  10585.     IAMVideoCompression * This,
  10586.     /* [size_is][out] */ WCHAR *pszVersion,
  10587.     /* [out][in] */ int *pcbVersion,
  10588.     /* [size_is][out] */ LPWSTR pszDescription,
  10589.     /* [out][in] */ int *pcbDescription,
  10590.     /* [out] */ long *pDefaultKeyFrameRate,
  10591.     /* [out] */ long *pDefaultPFramesPerKey,
  10592.     /* [out] */ double *pDefaultQuality,
  10593.     /* [out] */ long *pCapabilities);
  10594.  
  10595.  
  10596. void __RPC_STUB IAMVideoCompression_GetInfo_Stub(
  10597.     IRpcStubBuffer *This,
  10598.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10599.     PRPC_MESSAGE _pRpcMessage,
  10600.     DWORD *_pdwStubPhase);
  10601.  
  10602.  
  10603. HRESULT STDMETHODCALLTYPE IAMVideoCompression_OverrideKeyFrame_Proxy( 
  10604.     IAMVideoCompression * This,
  10605.     /* [in] */ long FrameNumber);
  10606.  
  10607.  
  10608. void __RPC_STUB IAMVideoCompression_OverrideKeyFrame_Stub(
  10609.     IRpcStubBuffer *This,
  10610.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10611.     PRPC_MESSAGE _pRpcMessage,
  10612.     DWORD *_pdwStubPhase);
  10613.  
  10614.  
  10615. HRESULT STDMETHODCALLTYPE IAMVideoCompression_OverrideFrameSize_Proxy( 
  10616.     IAMVideoCompression * This,
  10617.     /* [in] */ long FrameNumber,
  10618.     /* [in] */ long Size);
  10619.  
  10620.  
  10621. void __RPC_STUB IAMVideoCompression_OverrideFrameSize_Stub(
  10622.     IRpcStubBuffer *This,
  10623.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10624.     PRPC_MESSAGE _pRpcMessage,
  10625.     DWORD *_pdwStubPhase);
  10626.  
  10627.  
  10628.  
  10629. #endif     /* __IAMVideoCompression_INTERFACE_DEFINED__ */
  10630.  
  10631.  
  10632. /* interface __MIDL_itf_strmif_0159 */
  10633. /* [local] */ 
  10634.  
  10635. typedef /* [public] */ 
  10636. enum __MIDL___MIDL_itf_strmif_0159_0001
  10637.     {    VfwCaptureDialog_Source    = 0x1,
  10638.     VfwCaptureDialog_Format    = 0x2,
  10639.     VfwCaptureDialog_Display    = 0x4
  10640.     }     VfwCaptureDialogs;
  10641.  
  10642. typedef /* [public] */ 
  10643. enum __MIDL___MIDL_itf_strmif_0159_0002
  10644.     {    VfwCompressDialog_Config    = 0x1,
  10645.     VfwCompressDialog_About    = 0x2,
  10646.     VfwCompressDialog_QueryConfig    = 0x4,
  10647.     VfwCompressDialog_QueryAbout    = 0x8
  10648.     }     VfwCompressDialogs;
  10649.  
  10650.  
  10651.  
  10652. extern RPC_IF_HANDLE __MIDL_itf_strmif_0159_v0_0_c_ifspec;
  10653. extern RPC_IF_HANDLE __MIDL_itf_strmif_0159_v0_0_s_ifspec;
  10654.  
  10655. #ifndef __IAMVfwCaptureDialogs_INTERFACE_DEFINED__
  10656. #define __IAMVfwCaptureDialogs_INTERFACE_DEFINED__
  10657.  
  10658. /* interface IAMVfwCaptureDialogs */
  10659. /* [unique][uuid][local][object] */ 
  10660.  
  10661.  
  10662. EXTERN_C const IID IID_IAMVfwCaptureDialogs;
  10663.  
  10664. #if defined(__cplusplus) && !defined(CINTERFACE)
  10665.     
  10666.     MIDL_INTERFACE("D8D715A0-6E5E-11D0-B3F0-00AA003761C5")
  10667.     IAMVfwCaptureDialogs : public IUnknown
  10668.     {
  10669.     public:
  10670.         virtual HRESULT STDMETHODCALLTYPE HasDialog( 
  10671.             /* [in] */ int iDialog) = 0;
  10672.         
  10673.         virtual HRESULT STDMETHODCALLTYPE ShowDialog( 
  10674.             /* [in] */ int iDialog,
  10675.             /* [in] */ HWND hwnd) = 0;
  10676.         
  10677.         virtual HRESULT STDMETHODCALLTYPE SendDriverMessage( 
  10678.             /* [in] */ int iDialog,
  10679.             /* [in] */ int uMsg,
  10680.             /* [in] */ long dw1,
  10681.             /* [in] */ long dw2) = 0;
  10682.         
  10683.     };
  10684.     
  10685. #else     /* C style interface */
  10686.  
  10687.     typedef struct IAMVfwCaptureDialogsVtbl
  10688.     {
  10689.         BEGIN_INTERFACE
  10690.         
  10691.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  10692.             IAMVfwCaptureDialogs * This,
  10693.             /* [in] */ REFIID riid,
  10694.             /* [iid_is][out] */ void **ppvObject);
  10695.         
  10696.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  10697.             IAMVfwCaptureDialogs * This);
  10698.         
  10699.         ULONG ( STDMETHODCALLTYPE *Release )( 
  10700.             IAMVfwCaptureDialogs * This);
  10701.         
  10702.         HRESULT ( STDMETHODCALLTYPE *HasDialog )( 
  10703.             IAMVfwCaptureDialogs * This,
  10704.             /* [in] */ int iDialog);
  10705.         
  10706.         HRESULT ( STDMETHODCALLTYPE *ShowDialog )( 
  10707.             IAMVfwCaptureDialogs * This,
  10708.             /* [in] */ int iDialog,
  10709.             /* [in] */ HWND hwnd);
  10710.         
  10711.         HRESULT ( STDMETHODCALLTYPE *SendDriverMessage )( 
  10712.             IAMVfwCaptureDialogs * This,
  10713.             /* [in] */ int iDialog,
  10714.             /* [in] */ int uMsg,
  10715.             /* [in] */ long dw1,
  10716.             /* [in] */ long dw2);
  10717.         
  10718.         END_INTERFACE
  10719.     } IAMVfwCaptureDialogsVtbl;
  10720.  
  10721.     interface IAMVfwCaptureDialogs
  10722.     {
  10723.         CONST_VTBL struct IAMVfwCaptureDialogsVtbl *lpVtbl;
  10724.     };
  10725.  
  10726.     
  10727.  
  10728. #ifdef COBJMACROS
  10729.  
  10730.  
  10731. #define IAMVfwCaptureDialogs_QueryInterface(This,riid,ppvObject)    \
  10732.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  10733.  
  10734. #define IAMVfwCaptureDialogs_AddRef(This)    \
  10735.     (This)->lpVtbl -> AddRef(This)
  10736.  
  10737. #define IAMVfwCaptureDialogs_Release(This)    \
  10738.     (This)->lpVtbl -> Release(This)
  10739.  
  10740.  
  10741. #define IAMVfwCaptureDialogs_HasDialog(This,iDialog)    \
  10742.     (This)->lpVtbl -> HasDialog(This,iDialog)
  10743.  
  10744. #define IAMVfwCaptureDialogs_ShowDialog(This,iDialog,hwnd)    \
  10745.     (This)->lpVtbl -> ShowDialog(This,iDialog,hwnd)
  10746.  
  10747. #define IAMVfwCaptureDialogs_SendDriverMessage(This,iDialog,uMsg,dw1,dw2)    \
  10748.     (This)->lpVtbl -> SendDriverMessage(This,iDialog,uMsg,dw1,dw2)
  10749.  
  10750. #endif /* COBJMACROS */
  10751.  
  10752.  
  10753. #endif     /* C style interface */
  10754.  
  10755.  
  10756.  
  10757. HRESULT STDMETHODCALLTYPE IAMVfwCaptureDialogs_HasDialog_Proxy( 
  10758.     IAMVfwCaptureDialogs * This,
  10759.     /* [in] */ int iDialog);
  10760.  
  10761.  
  10762. void __RPC_STUB IAMVfwCaptureDialogs_HasDialog_Stub(
  10763.     IRpcStubBuffer *This,
  10764.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10765.     PRPC_MESSAGE _pRpcMessage,
  10766.     DWORD *_pdwStubPhase);
  10767.  
  10768.  
  10769. HRESULT STDMETHODCALLTYPE IAMVfwCaptureDialogs_ShowDialog_Proxy( 
  10770.     IAMVfwCaptureDialogs * This,
  10771.     /* [in] */ int iDialog,
  10772.     /* [in] */ HWND hwnd);
  10773.  
  10774.  
  10775. void __RPC_STUB IAMVfwCaptureDialogs_ShowDialog_Stub(
  10776.     IRpcStubBuffer *This,
  10777.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10778.     PRPC_MESSAGE _pRpcMessage,
  10779.     DWORD *_pdwStubPhase);
  10780.  
  10781.  
  10782. HRESULT STDMETHODCALLTYPE IAMVfwCaptureDialogs_SendDriverMessage_Proxy( 
  10783.     IAMVfwCaptureDialogs * This,
  10784.     /* [in] */ int iDialog,
  10785.     /* [in] */ int uMsg,
  10786.     /* [in] */ long dw1,
  10787.     /* [in] */ long dw2);
  10788.  
  10789.  
  10790. void __RPC_STUB IAMVfwCaptureDialogs_SendDriverMessage_Stub(
  10791.     IRpcStubBuffer *This,
  10792.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10793.     PRPC_MESSAGE _pRpcMessage,
  10794.     DWORD *_pdwStubPhase);
  10795.  
  10796.  
  10797.  
  10798. #endif     /* __IAMVfwCaptureDialogs_INTERFACE_DEFINED__ */
  10799.  
  10800.  
  10801. #ifndef __IAMVfwCompressDialogs_INTERFACE_DEFINED__
  10802. #define __IAMVfwCompressDialogs_INTERFACE_DEFINED__
  10803.  
  10804. /* interface IAMVfwCompressDialogs */
  10805. /* [unique][uuid][local][object] */ 
  10806.  
  10807.  
  10808. EXTERN_C const IID IID_IAMVfwCompressDialogs;
  10809.  
  10810. #if defined(__cplusplus) && !defined(CINTERFACE)
  10811.     
  10812.     MIDL_INTERFACE("D8D715A3-6E5E-11D0-B3F0-00AA003761C5")
  10813.     IAMVfwCompressDialogs : public IUnknown
  10814.     {
  10815.     public:
  10816.         virtual HRESULT STDMETHODCALLTYPE ShowDialog( 
  10817.             /* [in] */ int iDialog,
  10818.             /* [in] */ HWND hwnd) = 0;
  10819.         
  10820.         virtual HRESULT STDMETHODCALLTYPE GetState( 
  10821.             /* [size_is][out] */ LPVOID pState,
  10822.             /* [out][in] */ int *pcbState) = 0;
  10823.         
  10824.         virtual HRESULT STDMETHODCALLTYPE SetState( 
  10825.             /* [size_is][in] */ LPVOID pState,
  10826.             /* [in] */ int cbState) = 0;
  10827.         
  10828.         virtual HRESULT STDMETHODCALLTYPE SendDriverMessage( 
  10829.             /* [in] */ int uMsg,
  10830.             /* [in] */ long dw1,
  10831.             /* [in] */ long dw2) = 0;
  10832.         
  10833.     };
  10834.     
  10835. #else     /* C style interface */
  10836.  
  10837.     typedef struct IAMVfwCompressDialogsVtbl
  10838.     {
  10839.         BEGIN_INTERFACE
  10840.         
  10841.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  10842.             IAMVfwCompressDialogs * This,
  10843.             /* [in] */ REFIID riid,
  10844.             /* [iid_is][out] */ void **ppvObject);
  10845.         
  10846.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  10847.             IAMVfwCompressDialogs * This);
  10848.         
  10849.         ULONG ( STDMETHODCALLTYPE *Release )( 
  10850.             IAMVfwCompressDialogs * This);
  10851.         
  10852.         HRESULT ( STDMETHODCALLTYPE *ShowDialog )( 
  10853.             IAMVfwCompressDialogs * This,
  10854.             /* [in] */ int iDialog,
  10855.             /* [in] */ HWND hwnd);
  10856.         
  10857.         HRESULT ( STDMETHODCALLTYPE *GetState )( 
  10858.             IAMVfwCompressDialogs * This,
  10859.             /* [size_is][out] */ LPVOID pState,
  10860.             /* [out][in] */ int *pcbState);
  10861.         
  10862.         HRESULT ( STDMETHODCALLTYPE *SetState )( 
  10863.             IAMVfwCompressDialogs * This,
  10864.             /* [size_is][in] */ LPVOID pState,
  10865.             /* [in] */ int cbState);
  10866.         
  10867.         HRESULT ( STDMETHODCALLTYPE *SendDriverMessage )( 
  10868.             IAMVfwCompressDialogs * This,
  10869.             /* [in] */ int uMsg,
  10870.             /* [in] */ long dw1,
  10871.             /* [in] */ long dw2);
  10872.         
  10873.         END_INTERFACE
  10874.     } IAMVfwCompressDialogsVtbl;
  10875.  
  10876.     interface IAMVfwCompressDialogs
  10877.     {
  10878.         CONST_VTBL struct IAMVfwCompressDialogsVtbl *lpVtbl;
  10879.     };
  10880.  
  10881.     
  10882.  
  10883. #ifdef COBJMACROS
  10884.  
  10885.  
  10886. #define IAMVfwCompressDialogs_QueryInterface(This,riid,ppvObject)    \
  10887.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  10888.  
  10889. #define IAMVfwCompressDialogs_AddRef(This)    \
  10890.     (This)->lpVtbl -> AddRef(This)
  10891.  
  10892. #define IAMVfwCompressDialogs_Release(This)    \
  10893.     (This)->lpVtbl -> Release(This)
  10894.  
  10895.  
  10896. #define IAMVfwCompressDialogs_ShowDialog(This,iDialog,hwnd)    \
  10897.     (This)->lpVtbl -> ShowDialog(This,iDialog,hwnd)
  10898.  
  10899. #define IAMVfwCompressDialogs_GetState(This,pState,pcbState)    \
  10900.     (This)->lpVtbl -> GetState(This,pState,pcbState)
  10901.  
  10902. #define IAMVfwCompressDialogs_SetState(This,pState,cbState)    \
  10903.     (This)->lpVtbl -> SetState(This,pState,cbState)
  10904.  
  10905. #define IAMVfwCompressDialogs_SendDriverMessage(This,uMsg,dw1,dw2)    \
  10906.     (This)->lpVtbl -> SendDriverMessage(This,uMsg,dw1,dw2)
  10907.  
  10908. #endif /* COBJMACROS */
  10909.  
  10910.  
  10911. #endif     /* C style interface */
  10912.  
  10913.  
  10914.  
  10915. HRESULT STDMETHODCALLTYPE IAMVfwCompressDialogs_ShowDialog_Proxy( 
  10916.     IAMVfwCompressDialogs * This,
  10917.     /* [in] */ int iDialog,
  10918.     /* [in] */ HWND hwnd);
  10919.  
  10920.  
  10921. void __RPC_STUB IAMVfwCompressDialogs_ShowDialog_Stub(
  10922.     IRpcStubBuffer *This,
  10923.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10924.     PRPC_MESSAGE _pRpcMessage,
  10925.     DWORD *_pdwStubPhase);
  10926.  
  10927.  
  10928. HRESULT STDMETHODCALLTYPE IAMVfwCompressDialogs_GetState_Proxy( 
  10929.     IAMVfwCompressDialogs * This,
  10930.     /* [size_is][out] */ LPVOID pState,
  10931.     /* [out][in] */ int *pcbState);
  10932.  
  10933.  
  10934. void __RPC_STUB IAMVfwCompressDialogs_GetState_Stub(
  10935.     IRpcStubBuffer *This,
  10936.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10937.     PRPC_MESSAGE _pRpcMessage,
  10938.     DWORD *_pdwStubPhase);
  10939.  
  10940.  
  10941. HRESULT STDMETHODCALLTYPE IAMVfwCompressDialogs_SetState_Proxy( 
  10942.     IAMVfwCompressDialogs * This,
  10943.     /* [size_is][in] */ LPVOID pState,
  10944.     /* [in] */ int cbState);
  10945.  
  10946.  
  10947. void __RPC_STUB IAMVfwCompressDialogs_SetState_Stub(
  10948.     IRpcStubBuffer *This,
  10949.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10950.     PRPC_MESSAGE _pRpcMessage,
  10951.     DWORD *_pdwStubPhase);
  10952.  
  10953.  
  10954. HRESULT STDMETHODCALLTYPE IAMVfwCompressDialogs_SendDriverMessage_Proxy( 
  10955.     IAMVfwCompressDialogs * This,
  10956.     /* [in] */ int uMsg,
  10957.     /* [in] */ long dw1,
  10958.     /* [in] */ long dw2);
  10959.  
  10960.  
  10961. void __RPC_STUB IAMVfwCompressDialogs_SendDriverMessage_Stub(
  10962.     IRpcStubBuffer *This,
  10963.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10964.     PRPC_MESSAGE _pRpcMessage,
  10965.     DWORD *_pdwStubPhase);
  10966.  
  10967.  
  10968.  
  10969. #endif     /* __IAMVfwCompressDialogs_INTERFACE_DEFINED__ */
  10970.  
  10971.  
  10972. #ifndef __IAMDroppedFrames_INTERFACE_DEFINED__
  10973. #define __IAMDroppedFrames_INTERFACE_DEFINED__
  10974.  
  10975. /* interface IAMDroppedFrames */
  10976. /* [unique][uuid][object] */ 
  10977.  
  10978.  
  10979. EXTERN_C const IID IID_IAMDroppedFrames;
  10980.  
  10981. #if defined(__cplusplus) && !defined(CINTERFACE)
  10982.     
  10983.     MIDL_INTERFACE("C6E13344-30AC-11d0-A18C-00A0C9118956")
  10984.     IAMDroppedFrames : public IUnknown
  10985.     {
  10986.     public:
  10987.         virtual HRESULT STDMETHODCALLTYPE GetNumDropped( 
  10988.             /* [out] */ long *plDropped) = 0;
  10989.         
  10990.         virtual HRESULT STDMETHODCALLTYPE GetNumNotDropped( 
  10991.             /* [out] */ long *plNotDropped) = 0;
  10992.         
  10993.         virtual HRESULT STDMETHODCALLTYPE GetDroppedInfo( 
  10994.             /* [in] */ long lSize,
  10995.             /* [out] */ long *plArray,
  10996.             /* [out] */ long *plNumCopied) = 0;
  10997.         
  10998.         virtual HRESULT STDMETHODCALLTYPE GetAverageFrameSize( 
  10999.             /* [out] */ long *plAverageSize) = 0;
  11000.         
  11001.     };
  11002.     
  11003. #else     /* C style interface */
  11004.  
  11005.     typedef struct IAMDroppedFramesVtbl
  11006.     {
  11007.         BEGIN_INTERFACE
  11008.         
  11009.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  11010.             IAMDroppedFrames * This,
  11011.             /* [in] */ REFIID riid,
  11012.             /* [iid_is][out] */ void **ppvObject);
  11013.         
  11014.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  11015.             IAMDroppedFrames * This);
  11016.         
  11017.         ULONG ( STDMETHODCALLTYPE *Release )( 
  11018.             IAMDroppedFrames * This);
  11019.         
  11020.         HRESULT ( STDMETHODCALLTYPE *GetNumDropped )( 
  11021.             IAMDroppedFrames * This,
  11022.             /* [out] */ long *plDropped);
  11023.         
  11024.         HRESULT ( STDMETHODCALLTYPE *GetNumNotDropped )( 
  11025.             IAMDroppedFrames * This,
  11026.             /* [out] */ long *plNotDropped);
  11027.         
  11028.         HRESULT ( STDMETHODCALLTYPE *GetDroppedInfo )( 
  11029.             IAMDroppedFrames * This,
  11030.             /* [in] */ long lSize,
  11031.             /* [out] */ long *plArray,
  11032.             /* [out] */ long *plNumCopied);
  11033.         
  11034.         HRESULT ( STDMETHODCALLTYPE *GetAverageFrameSize )( 
  11035.             IAMDroppedFrames * This,
  11036.             /* [out] */ long *plAverageSize);
  11037.         
  11038.         END_INTERFACE
  11039.     } IAMDroppedFramesVtbl;
  11040.  
  11041.     interface IAMDroppedFrames
  11042.     {
  11043.         CONST_VTBL struct IAMDroppedFramesVtbl *lpVtbl;
  11044.     };
  11045.  
  11046.     
  11047.  
  11048. #ifdef COBJMACROS
  11049.  
  11050.  
  11051. #define IAMDroppedFrames_QueryInterface(This,riid,ppvObject)    \
  11052.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  11053.  
  11054. #define IAMDroppedFrames_AddRef(This)    \
  11055.     (This)->lpVtbl -> AddRef(This)
  11056.  
  11057. #define IAMDroppedFrames_Release(This)    \
  11058.     (This)->lpVtbl -> Release(This)
  11059.  
  11060.  
  11061. #define IAMDroppedFrames_GetNumDropped(This,plDropped)    \
  11062.     (This)->lpVtbl -> GetNumDropped(This,plDropped)
  11063.  
  11064. #define IAMDroppedFrames_GetNumNotDropped(This,plNotDropped)    \
  11065.     (This)->lpVtbl -> GetNumNotDropped(This,plNotDropped)
  11066.  
  11067. #define IAMDroppedFrames_GetDroppedInfo(This,lSize,plArray,plNumCopied)    \
  11068.     (This)->lpVtbl -> GetDroppedInfo(This,lSize,plArray,plNumCopied)
  11069.  
  11070. #define IAMDroppedFrames_GetAverageFrameSize(This,plAverageSize)    \
  11071.     (This)->lpVtbl -> GetAverageFrameSize(This,plAverageSize)
  11072.  
  11073. #endif /* COBJMACROS */
  11074.  
  11075.  
  11076. #endif     /* C style interface */
  11077.  
  11078.  
  11079.  
  11080. HRESULT STDMETHODCALLTYPE IAMDroppedFrames_GetNumDropped_Proxy( 
  11081.     IAMDroppedFrames * This,
  11082.     /* [out] */ long *plDropped);
  11083.  
  11084.  
  11085. void __RPC_STUB IAMDroppedFrames_GetNumDropped_Stub(
  11086.     IRpcStubBuffer *This,
  11087.     IRpcChannelBuffer *_pRpcChannelBuffer,
  11088.     PRPC_MESSAGE _pRpcMessage,
  11089.     DWORD *_pdwStubPhase);
  11090.  
  11091.  
  11092. HRESULT STDMETHODCALLTYPE IAMDroppedFrames_GetNumNotDropped_Proxy( 
  11093.     IAMDroppedFrames * This,
  11094.     /* [out] */ long *plNotDropped);
  11095.  
  11096.  
  11097. void __RPC_STUB IAMDroppedFrames_GetNumNotDropped_Stub(
  11098.     IRpcStubBuffer *This,
  11099.     IRpcChannelBuffer *_pRpcChannelBuffer,
  11100.     PRPC_MESSAGE _pRpcMessage,
  11101.     DWORD *_pdwStubPhase);
  11102.  
  11103.  
  11104. HRESULT STDMETHODCALLTYPE IAMDroppedFrames_GetDroppedInfo_Proxy( 
  11105.     IAMDroppedFrames * This,
  11106.     /* [in] */ long lSize,
  11107.     /* [out] */ long *plArray,
  11108.     /* [out] */ long *plNumCopied);
  11109.  
  11110.  
  11111. void __RPC_STUB IAMDroppedFrames_GetDroppedInfo_Stub(
  11112.     IRpcStubBuffer *This,
  11113.     IRpcChannelBuffer *_pRpcChannelBuffer,
  11114.     PRPC_MESSAGE _pRpcMessage,
  11115.     DWORD *_pdwStubPhase);
  11116.  
  11117.  
  11118. HRESULT STDMETHODCALLTYPE IAMDroppedFrames_GetAverageFrameSize_Proxy( 
  11119.     IAMDroppedFrames * This,
  11120.     /* [out] */ long *plAverageSize);
  11121.  
  11122.  
  11123. void __RPC_STUB IAMDroppedFrames_GetAverageFrameSize_Stub(
  11124.     IRpcStubBuffer *This,
  11125.     IRpcChannelBuffer *_pRpcChannelBuffer,
  11126.     PRPC_MESSAGE _pRpcMessage,
  11127.     DWORD *_pdwStubPhase);
  11128.  
  11129.  
  11130.  
  11131. #endif     /* __IAMDroppedFrames_INTERFACE_DEFINED__ */
  11132.  
  11133.  
  11134. /* interface __MIDL_itf_strmif_0162 */
  11135. /* [local] */ 
  11136.  
  11137. #define AMF_AUTOMATICGAIN -1.0
  11138.  
  11139.  
  11140. extern RPC_IF_HANDLE __MIDL_itf_strmif_0162_v0_0_c_ifspec;
  11141. extern RPC_IF_HANDLE __MIDL_itf_strmif_0162_v0_0_s_ifspec;
  11142.  
  11143. #ifndef __IAMAudioInputMixer_INTERFACE_DEFINED__
  11144. #define __IAMAudioInputMixer_INTERFACE_DEFINED__
  11145.  
  11146. /* interface IAMAudioInputMixer */
  11147. /* [unique][uuid][object] */ 
  11148.  
  11149.  
  11150. EXTERN_C const IID IID_IAMAudioInputMixer;
  11151.  
  11152. #if defined(__cplusplus) && !defined(CINTERFACE)
  11153.     
  11154.     MIDL_INTERFACE("54C39221-8380-11d0-B3F0-00AA003761C5")
  11155.     IAMAudioInputMixer : public IUnknown
  11156.     {
  11157.     public:
  11158.         virtual HRESULT STDMETHODCALLTYPE put_Enable( 
  11159.             /* [in] */ BOOL fEnable) = 0;
  11160.         
  11161.         virtual HRESULT STDMETHODCALLTYPE get_Enable( 
  11162.             /* [out] */ BOOL *pfEnable) = 0;
  11163.         
  11164.         virtual HRESULT STDMETHODCALLTYPE put_Mono( 
  11165.             /* [in] */ BOOL fMono) = 0;
  11166.         
  11167.         virtual HRESULT STDMETHODCALLTYPE get_Mono( 
  11168.             /* [out] */ BOOL *pfMono) = 0;
  11169.         
  11170.         virtual HRESULT STDMETHODCALLTYPE put_MixLevel( 
  11171.             /* [in] */ double Level) = 0;
  11172.         
  11173.         virtual HRESULT STDMETHODCALLTYPE get_MixLevel( 
  11174.             /* [out] */ double *pLevel) = 0;
  11175.         
  11176.         virtual HRESULT STDMETHODCALLTYPE put_Pan( 
  11177.             /* [in] */ double Pan) = 0;
  11178.         
  11179.         virtual HRESULT STDMETHODCALLTYPE get_Pan( 
  11180.             /* [out] */ double *pPan) = 0;
  11181.         
  11182.         virtual HRESULT STDMETHODCALLTYPE put_Loudness( 
  11183.             /* [in] */ BOOL fLoudness) = 0;
  11184.         
  11185.         virtual HRESULT STDMETHODCALLTYPE get_Loudness( 
  11186.             /* [out] */ BOOL *pfLoudness) = 0;
  11187.         
  11188.         virtual HRESULT STDMETHODCALLTYPE put_Treble( 
  11189.             /* [in] */ double Treble) = 0;
  11190.         
  11191.         virtual HRESULT STDMETHODCALLTYPE get_Treble( 
  11192.             /* [out] */ double *pTreble) = 0;
  11193.         
  11194.         virtual HRESULT STDMETHODCALLTYPE get_TrebleRange( 
  11195.             /* [out] */ double *pRange) = 0;
  11196.         
  11197.         virtual HRESULT STDMETHODCALLTYPE put_Bass( 
  11198.             /* [in] */ double Bass) = 0;
  11199.         
  11200.         virtual HRESULT STDMETHODCALLTYPE get_Bass( 
  11201.             /* [out] */ double *pBass) = 0;
  11202.         
  11203.         virtual HRESULT STDMETHODCALLTYPE get_BassRange( 
  11204.             /* [out] */ double *pRange) = 0;
  11205.         
  11206.     };
  11207.     
  11208. #else     /* C style interface */
  11209.  
  11210.     typedef struct IAMAudioInputMixerVtbl
  11211.     {
  11212.         BEGIN_INTERFACE
  11213.         
  11214.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  11215.             IAMAudioInputMixer * This,
  11216.             /* [in] */ REFIID riid,
  11217.             /* [iid_is][out] */ void **ppvObject);
  11218.         
  11219.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  11220.             IAMAudioInputMixer * This);
  11221.         
  11222.         ULONG ( STDMETHODCALLTYPE *Release )( 
  11223.             IAMAudioInputMixer * This);
  11224.         
  11225.         HRESULT ( STDMETHODCALLTYPE *put_Enable )( 
  11226.             IAMAudioInputMixer * This,
  11227.             /* [in] */ BOOL fEnable);
  11228.         
  11229.         HRESULT ( STDMETHODCALLTYPE *get_Enable )( 
  11230.             IAMAudioInputMixer * This,
  11231.             /* [out] */ BOOL *pfEnable);
  11232.         
  11233.         HRESULT ( STDMETHODCALLTYPE *put_Mono )( 
  11234.             IAMAudioInputMixer * This,
  11235.             /* [in] */ BOOL fMono);
  11236.         
  11237.         HRESULT ( STDMETHODCALLTYPE *get_Mono )( 
  11238.             IAMAudioInputMixer * This,
  11239.             /* [out] */ BOOL *pfMono);
  11240.         
  11241.         HRESULT ( STDMETHODCALLTYPE *put_MixLevel )( 
  11242.             IAMAudioInputMixer * This,
  11243.             /* [in] */ double Level);
  11244.         
  11245.         HRESULT ( STDMETHODCALLTYPE *get_MixLevel )( 
  11246.             IAMAudioInputMixer * This,
  11247.             /* [out] */ double *pLevel);
  11248.         
  11249.         HRESULT ( STDMETHODCALLTYPE *put_Pan )( 
  11250.             IAMAudioInputMixer * This,
  11251.             /* [in] */ double Pan);
  11252.         
  11253.         HRESULT ( STDMETHODCALLTYPE *get_Pan )( 
  11254.             IAMAudioInputMixer * This,
  11255.             /* [out] */ double *pPan);
  11256.         
  11257.         HRESULT ( STDMETHODCALLTYPE *put_Loudness )( 
  11258.             IAMAudioInputMixer * This,
  11259.             /* [in] */ BOOL fLoudness);
  11260.         
  11261.         HRESULT ( STDMETHODCALLTYPE *get_Loudness )( 
  11262.             IAMAudioInputMixer * This,
  11263.             /* [out] */ BOOL *pfLoudness);
  11264.         
  11265.         HRESULT ( STDMETHODCALLTYPE *put_Treble )( 
  11266.             IAMAudioInputMixer * This,
  11267.             /* [in] */ double Treble);
  11268.         
  11269.         HRESULT ( STDMETHODCALLTYPE *get_Treble )( 
  11270.             IAMAudioInputMixer * This,
  11271.             /* [out] */ double *pTreble);
  11272.         
  11273.         HRESULT ( STDMETHODCALLTYPE *get_TrebleRange )( 
  11274.             IAMAudioInputMixer * This,
  11275.             /* [out] */ double *pRange);
  11276.         
  11277.         HRESULT ( STDMETHODCALLTYPE *put_Bass )( 
  11278.             IAMAudioInputMixer * This,
  11279.             /* [in] */ double Bass);
  11280.         
  11281.         HRESULT ( STDMETHODCALLTYPE *get_Bass )( 
  11282.             IAMAudioInputMixer * This,
  11283.             /* [out] */ double *pBass);
  11284.         
  11285.         HRESULT ( STDMETHODCALLTYPE *get_BassRange )( 
  11286.             IAMAudioInputMixer * This,
  11287.             /* [out] */ double *pRange);
  11288.         
  11289.         END_INTERFACE
  11290.     } IAMAudioInputMixerVtbl;
  11291.  
  11292.     interface IAMAudioInputMixer
  11293.     {
  11294.         CONST_VTBL struct IAMAudioInputMixerVtbl *lpVtbl;
  11295.     };
  11296.  
  11297.     
  11298.  
  11299. #ifdef COBJMACROS
  11300.  
  11301.  
  11302. #define IAMAudioInputMixer_QueryInterface(This,riid,ppvObject)    \
  11303.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  11304.  
  11305. #define IAMAudioInputMixer_AddRef(This)    \
  11306.     (This)->lpVtbl -> AddRef(This)
  11307.  
  11308. #define IAMAudioInputMixer_Release(This)    \
  11309.     (This)->lpVtbl -> Release(This)
  11310.  
  11311.  
  11312. #define IAMAudioInputMixer_put_Enable(This,fEnable)    \
  11313.     (This)->lpVtbl -> put_Enable(This,fEnable)
  11314.  
  11315. #define IAMAudioInputMixer_get_Enable(This,pfEnable)    \
  11316.     (This)->lpVtbl -> get_Enable(This,pfEnable)
  11317.  
  11318. #define IAMAudioInputMixer_put_Mono(This,fMono)    \
  11319.     (This)->lpVtbl -> put_Mono(This,fMono)
  11320.  
  11321. #define IAMAudioInputMixer_get_Mono(This,pfMono)    \
  11322.     (This)->lpVtbl -> get_Mono(This,pfMono)
  11323.  
  11324. #define IAMAudioInputMixer_put_MixLevel(This,Level)    \
  11325.     (This)->lpVtbl -> put_MixLevel(This,Level)
  11326.  
  11327. #define IAMAudioInputMixer_get_MixLevel(This,pLevel)    \
  11328.     (This)->lpVtbl -> get_MixLevel(This,pLevel)
  11329.  
  11330. #define IAMAudioInputMixer_put_Pan(This,Pan)    \
  11331.     (This)->lpVtbl -> put_Pan(This,Pan)
  11332.  
  11333. #define IAMAudioInputMixer_get_Pan(This,pPan)    \
  11334.     (This)->lpVtbl -> get_Pan(This,pPan)
  11335.  
  11336. #define IAMAudioInputMixer_put_Loudness(This,fLoudness)    \
  11337.     (This)->lpVtbl -> put_Loudness(This,fLoudness)
  11338.  
  11339. #define IAMAudioInputMixer_get_Loudness(This,pfLoudness)    \
  11340.     (This)->lpVtbl -> get_Loudness(This,pfLoudness)
  11341.  
  11342. #define IAMAudioInputMixer_put_Treble(This,Treble)    \
  11343.     (This)->lpVtbl -> put_Treble(This,Treble)
  11344.  
  11345. #define IAMAudioInputMixer_get_Treble(This,pTreble)    \
  11346.     (This)->lpVtbl -> get_Treble(This,pTreble)
  11347.  
  11348. #define IAMAudioInputMixer_get_TrebleRange(This,pRange)    \
  11349.     (This)->lpVtbl -> get_TrebleRange(This,pRange)
  11350.  
  11351. #define IAMAudioInputMixer_put_Bass(This,Bass)    \
  11352.     (This)->lpVtbl -> put_Bass(This,Bass)
  11353.  
  11354. #define IAMAudioInputMixer_get_Bass(This,pBass)    \
  11355.     (This)->lpVtbl -> get_Bass(This,pBass)
  11356.  
  11357. #define IAMAudioInputMixer_get_BassRange(This,pRange)    \
  11358.     (This)->lpVtbl -> get_BassRange(This,pRange)
  11359.  
  11360. #endif /* COBJMACROS */
  11361.  
  11362.  
  11363. #endif     /* C style interface */
  11364.  
  11365.  
  11366.  
  11367. HRESULT STDMETHODCALLTYPE IAMAudioInputMixer_put_Enable_Proxy( 
  11368.     IAMAudioInputMixer * This,
  11369.     /* [in] */ BOOL fEnable);
  11370.  
  11371.  
  11372. void __RPC_STUB IAMAudioInputMixer_put_Enable_Stub(
  11373.     IRpcStubBuffer *This,
  11374.     IRpcChannelBuffer *_pRpcChannelBuffer,
  11375.     PRPC_MESSAGE _pRpcMessage,
  11376.     DWORD *_pdwStubPhase);
  11377.  
  11378.  
  11379. HRESULT STDMETHODCALLTYPE IAMAudioInputMixer_get_Enable_Proxy( 
  11380.     IAMAudioInputMixer * This,
  11381.     /* [out] */ BOOL *pfEnable);
  11382.  
  11383.  
  11384. void __RPC_STUB IAMAudioInputMixer_get_Enable_Stub(
  11385.     IRpcStubBuffer *This,
  11386.     IRpcChannelBuffer *_pRpcChannelBuffer,
  11387.     PRPC_MESSAGE _pRpcMessage,
  11388.     DWORD *_pdwStubPhase);
  11389.  
  11390.  
  11391. HRESULT STDMETHODCALLTYPE IAMAudioInputMixer_put_Mono_Proxy( 
  11392.     IAMAudioInputMixer * This,
  11393.     /* [in] */ BOOL fMono);
  11394.  
  11395.  
  11396. void __RPC_STUB IAMAudioInputMixer_put_Mono_Stub(
  11397.     IRpcStubBuffer *This,
  11398.     IRpcChannelBuffer *_pRpcChannelBuffer,
  11399.     PRPC_MESSAGE _pRpcMessage,
  11400.     DWORD *_pdwStubPhase);
  11401.  
  11402.  
  11403. HRESULT STDMETHODCALLTYPE IAMAudioInputMixer_get_Mono_Proxy( 
  11404.     IAMAudioInputMixer * This,
  11405.     /* [out] */ BOOL *pfMono);
  11406.  
  11407.  
  11408. void __RPC_STUB IAMAudioInputMixer_get_Mono_Stub(
  11409.     IRpcStubBuffer *This,
  11410.     IRpcChannelBuffer *_pRpcChannelBuffer,
  11411.     PRPC_MESSAGE _pRpcMessage,
  11412.     DWORD *_pdwStubPhase);
  11413.  
  11414.  
  11415. HRESULT STDMETHODCALLTYPE IAMAudioInputMixer_put_MixLevel_Proxy( 
  11416.     IAMAudioInputMixer * This,
  11417.     /* [in] */ double Level);
  11418.  
  11419.  
  11420. void __RPC_STUB IAMAudioInputMixer_put_MixLevel_Stub(
  11421.     IRpcStubBuffer *This,
  11422.     IRpcChannelBuffer *_pRpcChannelBuffer,
  11423.     PRPC_MESSAGE _pRpcMessage,
  11424.     DWORD *_pdwStubPhase);
  11425.  
  11426.  
  11427. HRESULT STDMETHODCALLTYPE IAMAudioInputMixer_get_MixLevel_Proxy( 
  11428.     IAMAudioInputMixer * This,
  11429.     /* [out] */ double *pLevel);
  11430.  
  11431.  
  11432. void __RPC_STUB IAMAudioInputMixer_get_MixLevel_Stub(
  11433.     IRpcStubBuffer *This,
  11434.     IRpcChannelBuffer *_pRpcChannelBuffer,
  11435.     PRPC_MESSAGE _pRpcMessage,
  11436.     DWORD *_pdwStubPhase);
  11437.  
  11438.  
  11439. HRESULT STDMETHODCALLTYPE IAMAudioInputMixer_put_Pan_Proxy( 
  11440.     IAMAudioInputMixer * This,
  11441.     /* [in] */ double Pan);
  11442.  
  11443.  
  11444. void __RPC_STUB IAMAudioInputMixer_put_Pan_Stub(
  11445.     IRpcStubBuffer *This,
  11446.     IRpcChannelBuffer *_pRpcChannelBuffer,
  11447.     PRPC_MESSAGE _pRpcMessage,
  11448.     DWORD *_pdwStubPhase);
  11449.  
  11450.  
  11451. HRESULT STDMETHODCALLTYPE IAMAudioInputMixer_get_Pan_Proxy( 
  11452.     IAMAudioInputMixer * This,
  11453.     /* [out] */ double *pPan);
  11454.  
  11455.  
  11456. void __RPC_STUB IAMAudioInputMixer_get_Pan_Stub(
  11457.     IRpcStubBuffer *This,
  11458.     IRpcChannelBuffer *_pRpcChannelBuffer,
  11459.     PRPC_MESSAGE _pRpcMessage,
  11460.     DWORD *_pdwStubPhase);
  11461.  
  11462.  
  11463. HRESULT STDMETHODCALLTYPE IAMAudioInputMixer_put_Loudness_Proxy( 
  11464.     IAMAudioInputMixer * This,
  11465.     /* [in] */ BOOL fLoudness);
  11466.  
  11467.  
  11468. void __RPC_STUB IAMAudioInputMixer_put_Loudness_Stub(
  11469.     IRpcStubBuffer *This,
  11470.     IRpcChannelBuffer *_pRpcChannelBuffer,
  11471.     PRPC_MESSAGE _pRpcMessage,
  11472.     DWORD *_pdwStubPhase);
  11473.  
  11474.  
  11475. HRESULT STDMETHODCALLTYPE IAMAudioInputMixer_get_Loudness_Proxy( 
  11476.     IAMAudioInputMixer * This,
  11477.     /* [out] */ BOOL *pfLoudness);
  11478.  
  11479.  
  11480. void __RPC_STUB IAMAudioInputMixer_get_Loudness_Stub(
  11481.     IRpcStubBuffer *This,
  11482.     IRpcChannelBuffer *_pRpcChannelBuffer,
  11483.     PRPC_MESSAGE _pRpcMessage,
  11484.     DWORD *_pdwStubPhase);
  11485.  
  11486.  
  11487. HRESULT STDMETHODCALLTYPE IAMAudioInputMixer_put_Treble_Proxy( 
  11488.     IAMAudioInputMixer * This,
  11489.     /* [in] */ double Treble);
  11490.  
  11491.  
  11492. void __RPC_STUB IAMAudioInputMixer_put_Treble_Stub(
  11493.     IRpcStubBuffer *This,
  11494.     IRpcChannelBuffer *_pRpcChannelBuffer,
  11495.     PRPC_MESSAGE _pRpcMessage,
  11496.     DWORD *_pdwStubPhase);
  11497.  
  11498.  
  11499. HRESULT STDMETHODCALLTYPE IAMAudioInputMixer_get_Treble_Proxy( 
  11500.     IAMAudioInputMixer * This,
  11501.     /* [out] */ double *pTreble);
  11502.  
  11503.  
  11504. void __RPC_STUB IAMAudioInputMixer_get_Treble_Stub(
  11505.     IRpcStubBuffer *This,
  11506.     IRpcChannelBuffer *_pRpcChannelBuffer,
  11507.     PRPC_MESSAGE _pRpcMessage,
  11508.     DWORD *_pdwStubPhase);
  11509.  
  11510.  
  11511. HRESULT STDMETHODCALLTYPE IAMAudioInputMixer_get_TrebleRange_Proxy( 
  11512.     IAMAudioInputMixer * This,
  11513.     /* [out] */ double *pRange);
  11514.  
  11515.  
  11516. void __RPC_STUB IAMAudioInputMixer_get_TrebleRange_Stub(
  11517.     IRpcStubBuffer *This,
  11518.     IRpcChannelBuffer *_pRpcChannelBuffer,
  11519.     PRPC_MESSAGE _pRpcMessage,
  11520.     DWORD *_pdwStubPhase);
  11521.  
  11522.  
  11523. HRESULT STDMETHODCALLTYPE IAMAudioInputMixer_put_Bass_Proxy( 
  11524.     IAMAudioInputMixer * This,
  11525.     /* [in] */ double Bass);
  11526.  
  11527.  
  11528. void __RPC_STUB IAMAudioInputMixer_put_Bass_Stub(
  11529.     IRpcStubBuffer *This,
  11530.     IRpcChannelBuffer *_pRpcChannelBuffer,
  11531.     PRPC_MESSAGE _pRpcMessage,
  11532.     DWORD *_pdwStubPhase);
  11533.  
  11534.  
  11535. HRESULT STDMETHODCALLTYPE IAMAudioInputMixer_get_Bass_Proxy( 
  11536.     IAMAudioInputMixer * This,
  11537.     /* [out] */ double *pBass);
  11538.  
  11539.  
  11540. void __RPC_STUB IAMAudioInputMixer_get_Bass_Stub(
  11541.     IRpcStubBuffer *This,
  11542.     IRpcChannelBuffer *_pRpcChannelBuffer,
  11543.     PRPC_MESSAGE _pRpcMessage,
  11544.     DWORD *_pdwStubPhase);
  11545.  
  11546.  
  11547. HRESULT STDMETHODCALLTYPE IAMAudioInputMixer_get_BassRange_Proxy( 
  11548.     IAMAudioInputMixer * This,
  11549.     /* [out] */ double *pRange);
  11550.  
  11551.  
  11552. void __RPC_STUB IAMAudioInputMixer_get_BassRange_Stub(
  11553.     IRpcStubBuffer *This,
  11554.     IRpcChannelBuffer *_pRpcChannelBuffer,
  11555.     PRPC_MESSAGE _pRpcMessage,
  11556.     DWORD *_pdwStubPhase);
  11557.  
  11558.  
  11559.  
  11560. #endif     /* __IAMAudioInputMixer_INTERFACE_DEFINED__ */
  11561.  
  11562.  
  11563. #ifndef __IAMBufferNegotiation_INTERFACE_DEFINED__
  11564. #define __IAMBufferNegotiation_INTERFACE_DEFINED__
  11565.  
  11566. /* interface IAMBufferNegotiation */
  11567. /* [unique][uuid][object] */ 
  11568.  
  11569.  
  11570. EXTERN_C const IID IID_IAMBufferNegotiation;
  11571.  
  11572. #if defined(__cplusplus) && !defined(CINTERFACE)
  11573.     
  11574.     MIDL_INTERFACE("56ED71A0-AF5F-11D0-B3F0-00AA003761C5")
  11575.     IAMBufferNegotiation : public IUnknown
  11576.     {
  11577.     public:
  11578.         virtual HRESULT STDMETHODCALLTYPE SuggestAllocatorProperties( 
  11579.             /* [in] */ const ALLOCATOR_PROPERTIES *pprop) = 0;
  11580.         
  11581.         virtual HRESULT STDMETHODCALLTYPE GetAllocatorProperties( 
  11582.             /* [out] */ ALLOCATOR_PROPERTIES *pprop) = 0;
  11583.         
  11584.     };
  11585.     
  11586. #else     /* C style interface */
  11587.  
  11588.     typedef struct IAMBufferNegotiationVtbl
  11589.     {
  11590.         BEGIN_INTERFACE
  11591.         
  11592.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  11593.             IAMBufferNegotiation * This,
  11594.             /* [in] */ REFIID riid,
  11595.             /* [iid_is][out] */ void **ppvObject);
  11596.         
  11597.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  11598.             IAMBufferNegotiation * This);
  11599.         
  11600.         ULONG ( STDMETHODCALLTYPE *Release )( 
  11601.             IAMBufferNegotiation * This);
  11602.         
  11603.         HRESULT ( STDMETHODCALLTYPE *SuggestAllocatorProperties )( 
  11604.             IAMBufferNegotiation * This,
  11605.             /* [in] */ const ALLOCATOR_PROPERTIES *pprop);
  11606.         
  11607.         HRESULT ( STDMETHODCALLTYPE *GetAllocatorProperties )( 
  11608.             IAMBufferNegotiation * This,
  11609.             /* [out] */ ALLOCATOR_PROPERTIES *pprop);
  11610.         
  11611.         END_INTERFACE
  11612.     } IAMBufferNegotiationVtbl;
  11613.  
  11614.     interface IAMBufferNegotiation
  11615.     {
  11616.         CONST_VTBL struct IAMBufferNegotiationVtbl *lpVtbl;
  11617.     };
  11618.  
  11619.     
  11620.  
  11621. #ifdef COBJMACROS
  11622.  
  11623.  
  11624. #define IAMBufferNegotiation_QueryInterface(This,riid,ppvObject)    \
  11625.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  11626.  
  11627. #define IAMBufferNegotiation_AddRef(This)    \
  11628.     (This)->lpVtbl -> AddRef(This)
  11629.  
  11630. #define IAMBufferNegotiation_Release(This)    \
  11631.     (This)->lpVtbl -> Release(This)
  11632.  
  11633.  
  11634. #define IAMBufferNegotiation_SuggestAllocatorProperties(This,pprop)    \
  11635.     (This)->lpVtbl -> SuggestAllocatorProperties(This,pprop)
  11636.  
  11637. #define IAMBufferNegotiation_GetAllocatorProperties(This,pprop)    \
  11638.     (This)->lpVtbl -> GetAllocatorProperties(This,pprop)
  11639.  
  11640. #endif /* COBJMACROS */
  11641.  
  11642.  
  11643. #endif     /* C style interface */
  11644.  
  11645.  
  11646.  
  11647. HRESULT STDMETHODCALLTYPE IAMBufferNegotiation_SuggestAllocatorProperties_Proxy( 
  11648.     IAMBufferNegotiation * This,
  11649.     /* [in] */ const ALLOCATOR_PROPERTIES *pprop);
  11650.  
  11651.  
  11652. void __RPC_STUB IAMBufferNegotiation_SuggestAllocatorProperties_Stub(
  11653.     IRpcStubBuffer *This,
  11654.     IRpcChannelBuffer *_pRpcChannelBuffer,
  11655.     PRPC_MESSAGE _pRpcMessage,
  11656.     DWORD *_pdwStubPhase);
  11657.  
  11658.  
  11659. HRESULT STDMETHODCALLTYPE IAMBufferNegotiation_GetAllocatorProperties_Proxy( 
  11660.     IAMBufferNegotiation * This,
  11661.     /* [out] */ ALLOCATOR_PROPERTIES *pprop);
  11662.  
  11663.  
  11664. void __RPC_STUB IAMBufferNegotiation_GetAllocatorProperties_Stub(
  11665.     IRpcStubBuffer *This,
  11666.     IRpcChannelBuffer *_pRpcChannelBuffer,
  11667.     PRPC_MESSAGE _pRpcMessage,
  11668.     DWORD *_pdwStubPhase);
  11669.  
  11670.  
  11671.  
  11672. #endif     /* __IAMBufferNegotiation_INTERFACE_DEFINED__ */
  11673.  
  11674.  
  11675. /* interface __MIDL_itf_strmif_0164 */
  11676. /* [local] */ 
  11677.  
  11678. typedef 
  11679. enum tagAnalogVideoStandard
  11680.     {    AnalogVideo_None    = 0,
  11681.     AnalogVideo_NTSC_M    = 0x1,
  11682.     AnalogVideo_NTSC_M_J    = 0x2,
  11683.     AnalogVideo_NTSC_433    = 0x4,
  11684.     AnalogVideo_PAL_B    = 0x10,
  11685.     AnalogVideo_PAL_D    = 0x20,
  11686.     AnalogVideo_PAL_G    = 0x40,
  11687.     AnalogVideo_PAL_H    = 0x80,
  11688.     AnalogVideo_PAL_I    = 0x100,
  11689.     AnalogVideo_PAL_M    = 0x200,
  11690.     AnalogVideo_PAL_N    = 0x400,
  11691.     AnalogVideo_PAL_60    = 0x800,
  11692.     AnalogVideo_SECAM_B    = 0x1000,
  11693.     AnalogVideo_SECAM_D    = 0x2000,
  11694.     AnalogVideo_SECAM_G    = 0x4000,
  11695.     AnalogVideo_SECAM_H    = 0x8000,
  11696.     AnalogVideo_SECAM_K    = 0x10000,
  11697.     AnalogVideo_SECAM_K1    = 0x20000,
  11698.     AnalogVideo_SECAM_L    = 0x40000,
  11699.     AnalogVideo_SECAM_L1    = 0x80000,
  11700.     AnalogVideo_PAL_N_COMBO    = 0x100000
  11701.     }     AnalogVideoStandard;
  11702.  
  11703. #define AnalogVideo_NTSC_Mask  0x00000007
  11704. #define AnalogVideo_PAL_Mask   0x00100FF0
  11705. #define AnalogVideo_SECAM_Mask 0x000FF000
  11706. typedef 
  11707. enum tagTunerInputType
  11708.     {    TunerInputCable    = 0,
  11709.     TunerInputAntenna    = TunerInputCable + 1
  11710.     }     TunerInputType;
  11711.  
  11712. typedef /* [public] */ 
  11713. enum __MIDL___MIDL_itf_strmif_0164_0001
  11714.     {    VideoCopyProtectionMacrovisionBasic    = 0,
  11715.     VideoCopyProtectionMacrovisionCBI    = VideoCopyProtectionMacrovisionBasic + 1
  11716.     }     VideoCopyProtectionType;
  11717.  
  11718. typedef 
  11719. enum tagPhysicalConnectorType
  11720.     {    PhysConn_Video_Tuner    = 1,
  11721.     PhysConn_Video_Composite    = PhysConn_Video_Tuner + 1,
  11722.     PhysConn_Video_SVideo    = PhysConn_Video_Composite + 1,
  11723.     PhysConn_Video_RGB    = PhysConn_Video_SVideo + 1,
  11724.     PhysConn_Video_YRYBY    = PhysConn_Video_RGB + 1,
  11725.     PhysConn_Video_SerialDigital    = PhysConn_Video_YRYBY + 1,
  11726.     PhysConn_Video_ParallelDigital    = PhysConn_Video_SerialDigital + 1,
  11727.     PhysConn_Video_SCSI    = PhysConn_Video_ParallelDigital + 1,
  11728.     PhysConn_Video_AUX    = PhysConn_Video_SCSI + 1,
  11729.     PhysConn_Video_1394    = PhysConn_Video_AUX + 1,
  11730.     PhysConn_Video_USB    = PhysConn_Video_1394 + 1,
  11731.     PhysConn_Video_VideoDecoder    = PhysConn_Video_USB + 1,
  11732.     PhysConn_Video_VideoEncoder    = PhysConn_Video_VideoDecoder + 1,
  11733.     PhysConn_Video_SCART    = PhysConn_Video_VideoEncoder + 1,
  11734.     PhysConn_Video_Black    = PhysConn_Video_SCART + 1,
  11735.     PhysConn_Audio_Tuner    = 0x1000,
  11736.     PhysConn_Audio_Line    = PhysConn_Audio_Tuner + 1,
  11737.     PhysConn_Audio_Mic    = PhysConn_Audio_Line + 1,
  11738.     PhysConn_Audio_AESDigital    = PhysConn_Audio_Mic + 1,
  11739.     PhysConn_Audio_SPDIFDigital    = PhysConn_Audio_AESDigital + 1,
  11740.     PhysConn_Audio_SCSI    = PhysConn_Audio_SPDIFDigital + 1,
  11741.     PhysConn_Audio_AUX    = PhysConn_Audio_SCSI + 1,
  11742.     PhysConn_Audio_1394    = PhysConn_Audio_AUX + 1,
  11743.     PhysConn_Audio_USB    = PhysConn_Audio_1394 + 1,
  11744.     PhysConn_Audio_AudioDecoder    = PhysConn_Audio_USB + 1
  11745.     }     PhysicalConnectorType;
  11746.  
  11747.  
  11748.  
  11749. extern RPC_IF_HANDLE __MIDL_itf_strmif_0164_v0_0_c_ifspec;
  11750. extern RPC_IF_HANDLE __MIDL_itf_strmif_0164_v0_0_s_ifspec;
  11751.  
  11752. #ifndef __IAMAnalogVideoDecoder_INTERFACE_DEFINED__
  11753. #define __IAMAnalogVideoDecoder_INTERFACE_DEFINED__
  11754.  
  11755. /* interface IAMAnalogVideoDecoder */
  11756. /* [unique][uuid][object] */ 
  11757.  
  11758.  
  11759. EXTERN_C const IID IID_IAMAnalogVideoDecoder;
  11760.  
  11761. #if defined(__cplusplus) && !defined(CINTERFACE)
  11762.     
  11763.     MIDL_INTERFACE("C6E13350-30AC-11d0-A18C-00A0C9118956")
  11764.     IAMAnalogVideoDecoder : public IUnknown
  11765.     {
  11766.     public:
  11767.         virtual HRESULT STDMETHODCALLTYPE get_AvailableTVFormats( 
  11768.             /* [out] */ long *lAnalogVideoStandard) = 0;
  11769.         
  11770.         virtual HRESULT STDMETHODCALLTYPE put_TVFormat( 
  11771.             /* [in] */ long lAnalogVideoStandard) = 0;
  11772.         
  11773.         virtual HRESULT STDMETHODCALLTYPE get_TVFormat( 
  11774.             /* [out] */ long *plAnalogVideoStandard) = 0;
  11775.         
  11776.         virtual HRESULT STDMETHODCALLTYPE get_HorizontalLocked( 
  11777.             /* [out] */ long *plLocked) = 0;
  11778.         
  11779.         virtual HRESULT STDMETHODCALLTYPE put_VCRHorizontalLocking( 
  11780.             /* [in] */ long lVCRHorizontalLocking) = 0;
  11781.         
  11782.         virtual HRESULT STDMETHODCALLTYPE get_VCRHorizontalLocking( 
  11783.             /* [out] */ long *plVCRHorizontalLocking) = 0;
  11784.         
  11785.         virtual HRESULT STDMETHODCALLTYPE get_NumberOfLines( 
  11786.             /* [out] */ long *plNumberOfLines) = 0;
  11787.         
  11788.         virtual HRESULT STDMETHODCALLTYPE put_OutputEnable( 
  11789.             /* [in] */ long lOutputEnable) = 0;
  11790.         
  11791.         virtual HRESULT STDMETHODCALLTYPE get_OutputEnable( 
  11792.             /* [out] */ long *plOutputEnable) = 0;
  11793.         
  11794.     };
  11795.     
  11796. #else     /* C style interface */
  11797.  
  11798.     typedef struct IAMAnalogVideoDecoderVtbl
  11799.     {
  11800.         BEGIN_INTERFACE
  11801.         
  11802.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  11803.             IAMAnalogVideoDecoder * This,
  11804.             /* [in] */ REFIID riid,
  11805.             /* [iid_is][out] */ void **ppvObject);
  11806.         
  11807.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  11808.             IAMAnalogVideoDecoder * This);
  11809.         
  11810.         ULONG ( STDMETHODCALLTYPE *Release )( 
  11811.             IAMAnalogVideoDecoder * This);
  11812.         
  11813.         HRESULT ( STDMETHODCALLTYPE *get_AvailableTVFormats )( 
  11814.             IAMAnalogVideoDecoder * This,
  11815.             /* [out] */ long *lAnalogVideoStandard);
  11816.         
  11817.         HRESULT ( STDMETHODCALLTYPE *put_TVFormat )( 
  11818.             IAMAnalogVideoDecoder * This,
  11819.             /* [in] */ long lAnalogVideoStandard);
  11820.         
  11821.         HRESULT ( STDMETHODCALLTYPE *get_TVFormat )( 
  11822.             IAMAnalogVideoDecoder * This,
  11823.             /* [out] */ long *plAnalogVideoStandard);
  11824.         
  11825.         HRESULT ( STDMETHODCALLTYPE *get_HorizontalLocked )( 
  11826.             IAMAnalogVideoDecoder * This,
  11827.             /* [out] */ long *plLocked);
  11828.         
  11829.         HRESULT ( STDMETHODCALLTYPE *put_VCRHorizontalLocking )( 
  11830.             IAMAnalogVideoDecoder * This,
  11831.             /* [in] */ long lVCRHorizontalLocking);
  11832.         
  11833.         HRESULT ( STDMETHODCALLTYPE *get_VCRHorizontalLocking )( 
  11834.             IAMAnalogVideoDecoder * This,
  11835.             /* [out] */ long *plVCRHorizontalLocking);
  11836.         
  11837.         HRESULT ( STDMETHODCALLTYPE *get_NumberOfLines )( 
  11838.             IAMAnalogVideoDecoder * This,
  11839.             /* [out] */ long *plNumberOfLines);
  11840.         
  11841.         HRESULT ( STDMETHODCALLTYPE *put_OutputEnable )( 
  11842.             IAMAnalogVideoDecoder * This,
  11843.             /* [in] */ long lOutputEnable);
  11844.         
  11845.         HRESULT ( STDMETHODCALLTYPE *get_OutputEnable )( 
  11846.             IAMAnalogVideoDecoder * This,
  11847.             /* [out] */ long *plOutputEnable);
  11848.         
  11849.         END_INTERFACE
  11850.     } IAMAnalogVideoDecoderVtbl;
  11851.  
  11852.     interface IAMAnalogVideoDecoder
  11853.     {
  11854.         CONST_VTBL struct IAMAnalogVideoDecoderVtbl *lpVtbl;
  11855.     };
  11856.  
  11857.     
  11858.  
  11859. #ifdef COBJMACROS
  11860.  
  11861.  
  11862. #define IAMAnalogVideoDecoder_QueryInterface(This,riid,ppvObject)    \
  11863.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  11864.  
  11865. #define IAMAnalogVideoDecoder_AddRef(This)    \
  11866.     (This)->lpVtbl -> AddRef(This)
  11867.  
  11868. #define IAMAnalogVideoDecoder_Release(This)    \
  11869.     (This)->lpVtbl -> Release(This)
  11870.  
  11871.  
  11872. #define IAMAnalogVideoDecoder_get_AvailableTVFormats(This,lAnalogVideoStandard)    \
  11873.     (This)->lpVtbl -> get_AvailableTVFormats(This,lAnalogVideoStandard)
  11874.  
  11875. #define IAMAnalogVideoDecoder_put_TVFormat(This,lAnalogVideoStandard)    \
  11876.     (This)->lpVtbl -> put_TVFormat(This,lAnalogVideoStandard)
  11877.  
  11878. #define IAMAnalogVideoDecoder_get_TVFormat(This,plAnalogVideoStandard)    \
  11879.     (This)->lpVtbl -> get_TVFormat(This,plAnalogVideoStandard)
  11880.  
  11881. #define IAMAnalogVideoDecoder_get_HorizontalLocked(This,plLocked)    \
  11882.     (This)->lpVtbl -> get_HorizontalLocked(This,plLocked)
  11883.  
  11884. #define IAMAnalogVideoDecoder_put_VCRHorizontalLocking(This,lVCRHorizontalLocking)    \
  11885.     (This)->lpVtbl -> put_VCRHorizontalLocking(This,lVCRHorizontalLocking)
  11886.  
  11887. #define IAMAnalogVideoDecoder_get_VCRHorizontalLocking(This,plVCRHorizontalLocking)    \
  11888.     (This)->lpVtbl -> get_VCRHorizontalLocking(This,plVCRHorizontalLocking)
  11889.  
  11890. #define IAMAnalogVideoDecoder_get_NumberOfLines(This,plNumberOfLines)    \
  11891.     (This)->lpVtbl -> get_NumberOfLines(This,plNumberOfLines)
  11892.  
  11893. #define IAMAnalogVideoDecoder_put_OutputEnable(This,lOutputEnable)    \
  11894.     (This)->lpVtbl -> put_OutputEnable(This,lOutputEnable)
  11895.  
  11896. #define IAMAnalogVideoDecoder_get_OutputEnable(This,plOutputEnable)    \
  11897.     (This)->lpVtbl -> get_OutputEnable(This,plOutputEnable)
  11898.  
  11899. #endif /* COBJMACROS */
  11900.  
  11901.  
  11902. #endif     /* C style interface */
  11903.  
  11904.  
  11905.  
  11906. HRESULT STDMETHODCALLTYPE IAMAnalogVideoDecoder_get_AvailableTVFormats_Proxy( 
  11907.     IAMAnalogVideoDecoder * This,
  11908.     /* [out] */ long *lAnalogVideoStandard);
  11909.  
  11910.  
  11911. void __RPC_STUB IAMAnalogVideoDecoder_get_AvailableTVFormats_Stub(
  11912.     IRpcStubBuffer *This,
  11913.     IRpcChannelBuffer *_pRpcChannelBuffer,
  11914.     PRPC_MESSAGE _pRpcMessage,
  11915.     DWORD *_pdwStubPhase);
  11916.  
  11917.  
  11918. HRESULT STDMETHODCALLTYPE IAMAnalogVideoDecoder_put_TVFormat_Proxy( 
  11919.     IAMAnalogVideoDecoder * This,
  11920.     /* [in] */ long lAnalogVideoStandard);
  11921.  
  11922.  
  11923. void __RPC_STUB IAMAnalogVideoDecoder_put_TVFormat_Stub(
  11924.     IRpcStubBuffer *This,
  11925.     IRpcChannelBuffer *_pRpcChannelBuffer,
  11926.     PRPC_MESSAGE _pRpcMessage,
  11927.     DWORD *_pdwStubPhase);
  11928.  
  11929.  
  11930. HRESULT STDMETHODCALLTYPE IAMAnalogVideoDecoder_get_TVFormat_Proxy( 
  11931.     IAMAnalogVideoDecoder * This,
  11932.     /* [out] */ long *plAnalogVideoStandard);
  11933.  
  11934.  
  11935. void __RPC_STUB IAMAnalogVideoDecoder_get_TVFormat_Stub(
  11936.     IRpcStubBuffer *This,
  11937.     IRpcChannelBuffer *_pRpcChannelBuffer,
  11938.     PRPC_MESSAGE _pRpcMessage,
  11939.     DWORD *_pdwStubPhase);
  11940.  
  11941.  
  11942. HRESULT STDMETHODCALLTYPE IAMAnalogVideoDecoder_get_HorizontalLocked_Proxy( 
  11943.     IAMAnalogVideoDecoder * This,
  11944.     /* [out] */ long *plLocked);
  11945.  
  11946.  
  11947. void __RPC_STUB IAMAnalogVideoDecoder_get_HorizontalLocked_Stub(
  11948.     IRpcStubBuffer *This,
  11949.     IRpcChannelBuffer *_pRpcChannelBuffer,
  11950.     PRPC_MESSAGE _pRpcMessage,
  11951.     DWORD *_pdwStubPhase);
  11952.  
  11953.  
  11954. HRESULT STDMETHODCALLTYPE IAMAnalogVideoDecoder_put_VCRHorizontalLocking_Proxy( 
  11955.     IAMAnalogVideoDecoder * This,
  11956.     /* [in] */ long lVCRHorizontalLocking);
  11957.  
  11958.  
  11959. void __RPC_STUB IAMAnalogVideoDecoder_put_VCRHorizontalLocking_Stub(
  11960.     IRpcStubBuffer *This,
  11961.     IRpcChannelBuffer *_pRpcChannelBuffer,
  11962.     PRPC_MESSAGE _pRpcMessage,
  11963.     DWORD *_pdwStubPhase);
  11964.  
  11965.  
  11966. HRESULT STDMETHODCALLTYPE IAMAnalogVideoDecoder_get_VCRHorizontalLocking_Proxy( 
  11967.     IAMAnalogVideoDecoder * This,
  11968.     /* [out] */ long *plVCRHorizontalLocking);
  11969.  
  11970.  
  11971. void __RPC_STUB IAMAnalogVideoDecoder_get_VCRHorizontalLocking_Stub(
  11972.     IRpcStubBuffer *This,
  11973.     IRpcChannelBuffer *_pRpcChannelBuffer,
  11974.     PRPC_MESSAGE _pRpcMessage,
  11975.     DWORD *_pdwStubPhase);
  11976.  
  11977.  
  11978. HRESULT STDMETHODCALLTYPE IAMAnalogVideoDecoder_get_NumberOfLines_Proxy( 
  11979.     IAMAnalogVideoDecoder * This,
  11980.     /* [out] */ long *plNumberOfLines);
  11981.  
  11982.  
  11983. void __RPC_STUB IAMAnalogVideoDecoder_get_NumberOfLines_Stub(
  11984.     IRpcStubBuffer *This,
  11985.     IRpcChannelBuffer *_pRpcChannelBuffer,
  11986.     PRPC_MESSAGE _pRpcMessage,
  11987.     DWORD *_pdwStubPhase);
  11988.  
  11989.  
  11990. HRESULT STDMETHODCALLTYPE IAMAnalogVideoDecoder_put_OutputEnable_Proxy( 
  11991.     IAMAnalogVideoDecoder * This,
  11992.     /* [in] */ long lOutputEnable);
  11993.  
  11994.  
  11995. void __RPC_STUB IAMAnalogVideoDecoder_put_OutputEnable_Stub(
  11996.     IRpcStubBuffer *This,
  11997.     IRpcChannelBuffer *_pRpcChannelBuffer,
  11998.     PRPC_MESSAGE _pRpcMessage,
  11999.     DWORD *_pdwStubPhase);
  12000.  
  12001.  
  12002. HRESULT STDMETHODCALLTYPE IAMAnalogVideoDecoder_get_OutputEnable_Proxy( 
  12003.     IAMAnalogVideoDecoder * This,
  12004.     /* [out] */ long *plOutputEnable);
  12005.  
  12006.  
  12007. void __RPC_STUB IAMAnalogVideoDecoder_get_OutputEnable_Stub(
  12008.     IRpcStubBuffer *This,
  12009.     IRpcChannelBuffer *_pRpcChannelBuffer,
  12010.     PRPC_MESSAGE _pRpcMessage,
  12011.     DWORD *_pdwStubPhase);
  12012.  
  12013.  
  12014.  
  12015. #endif     /* __IAMAnalogVideoDecoder_INTERFACE_DEFINED__ */
  12016.  
  12017.  
  12018. /* interface __MIDL_itf_strmif_0165 */
  12019. /* [local] */ 
  12020.  
  12021. typedef 
  12022. enum tagVideoProcAmpProperty
  12023.     {    VideoProcAmp_Brightness    = 0,
  12024.     VideoProcAmp_Contrast    = VideoProcAmp_Brightness + 1,
  12025.     VideoProcAmp_Hue    = VideoProcAmp_Contrast + 1,
  12026.     VideoProcAmp_Saturation    = VideoProcAmp_Hue + 1,
  12027.     VideoProcAmp_Sharpness    = VideoProcAmp_Saturation + 1,
  12028.     VideoProcAmp_Gamma    = VideoProcAmp_Sharpness + 1,
  12029.     VideoProcAmp_ColorEnable    = VideoProcAmp_Gamma + 1,
  12030.     VideoProcAmp_WhiteBalance    = VideoProcAmp_ColorEnable + 1,
  12031.     VideoProcAmp_BacklightCompensation    = VideoProcAmp_WhiteBalance + 1,
  12032.     VideoProcAmp_Gain    = VideoProcAmp_BacklightCompensation + 1
  12033.     }     VideoProcAmpProperty;
  12034.  
  12035. typedef 
  12036. enum tagVideoProcAmpFlags
  12037.     {    VideoProcAmp_Flags_Auto    = 0x1,
  12038.     VideoProcAmp_Flags_Manual    = 0x2
  12039.     }     VideoProcAmpFlags;
  12040.  
  12041.  
  12042.  
  12043. extern RPC_IF_HANDLE __MIDL_itf_strmif_0165_v0_0_c_ifspec;
  12044. extern RPC_IF_HANDLE __MIDL_itf_strmif_0165_v0_0_s_ifspec;
  12045.  
  12046. #ifndef __IAMVideoProcAmp_INTERFACE_DEFINED__
  12047. #define __IAMVideoProcAmp_INTERFACE_DEFINED__
  12048.  
  12049. /* interface IAMVideoProcAmp */
  12050. /* [unique][uuid][object] */ 
  12051.  
  12052.  
  12053. EXTERN_C const IID IID_IAMVideoProcAmp;
  12054.  
  12055. #if defined(__cplusplus) && !defined(CINTERFACE)
  12056.     
  12057.     MIDL_INTERFACE("C6E13360-30AC-11d0-A18C-00A0C9118956")
  12058.     IAMVideoProcAmp : public IUnknown
  12059.     {
  12060.     public:
  12061.         virtual HRESULT STDMETHODCALLTYPE GetRange( 
  12062.             /* [in] */ long Property,
  12063.             /* [out] */ long *pMin,
  12064.             /* [out] */ long *pMax,
  12065.             /* [out] */ long *pSteppingDelta,
  12066.             /* [out] */ long *pDefault,
  12067.             /* [out] */ long *pCapsFlags) = 0;
  12068.         
  12069.         virtual HRESULT STDMETHODCALLTYPE Set( 
  12070.             /* [in] */ long Property,
  12071.             /* [in] */ long lValue,
  12072.             /* [in] */ long Flags) = 0;
  12073.         
  12074.         virtual HRESULT STDMETHODCALLTYPE Get( 
  12075.             /* [in] */ long Property,
  12076.             /* [out] */ long *lValue,
  12077.             /* [out] */ long *Flags) = 0;
  12078.         
  12079.     };
  12080.     
  12081. #else     /* C style interface */
  12082.  
  12083.     typedef struct IAMVideoProcAmpVtbl
  12084.     {
  12085.         BEGIN_INTERFACE
  12086.         
  12087.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  12088.             IAMVideoProcAmp * This,
  12089.             /* [in] */ REFIID riid,
  12090.             /* [iid_is][out] */ void **ppvObject);
  12091.         
  12092.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  12093.             IAMVideoProcAmp * This);
  12094.         
  12095.         ULONG ( STDMETHODCALLTYPE *Release )( 
  12096.             IAMVideoProcAmp * This);
  12097.         
  12098.         HRESULT ( STDMETHODCALLTYPE *GetRange )( 
  12099.             IAMVideoProcAmp * This,
  12100.             /* [in] */ long Property,
  12101.             /* [out] */ long *pMin,
  12102.             /* [out] */ long *pMax,
  12103.             /* [out] */ long *pSteppingDelta,
  12104.             /* [out] */ long *pDefault,
  12105.             /* [out] */ long *pCapsFlags);
  12106.         
  12107.         HRESULT ( STDMETHODCALLTYPE *Set )( 
  12108.             IAMVideoProcAmp * This,
  12109.             /* [in] */ long Property,
  12110.             /* [in] */ long lValue,
  12111.             /* [in] */ long Flags);
  12112.         
  12113.         HRESULT ( STDMETHODCALLTYPE *Get )( 
  12114.             IAMVideoProcAmp * This,
  12115.             /* [in] */ long Property,
  12116.             /* [out] */ long *lValue,
  12117.             /* [out] */ long *Flags);
  12118.         
  12119.         END_INTERFACE
  12120.     } IAMVideoProcAmpVtbl;
  12121.  
  12122.     interface IAMVideoProcAmp
  12123.     {
  12124.         CONST_VTBL struct IAMVideoProcAmpVtbl *lpVtbl;
  12125.     };
  12126.  
  12127.     
  12128.  
  12129. #ifdef COBJMACROS
  12130.  
  12131.  
  12132. #define IAMVideoProcAmp_QueryInterface(This,riid,ppvObject)    \
  12133.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  12134.  
  12135. #define IAMVideoProcAmp_AddRef(This)    \
  12136.     (This)->lpVtbl -> AddRef(This)
  12137.  
  12138. #define IAMVideoProcAmp_Release(This)    \
  12139.     (This)->lpVtbl -> Release(This)
  12140.  
  12141.  
  12142. #define IAMVideoProcAmp_GetRange(This,Property,pMin,pMax,pSteppingDelta,pDefault,pCapsFlags)    \
  12143.     (This)->lpVtbl -> GetRange(This,Property,pMin,pMax,pSteppingDelta,pDefault,pCapsFlags)
  12144.  
  12145. #define IAMVideoProcAmp_Set(This,Property,lValue,Flags)    \
  12146.     (This)->lpVtbl -> Set(This,Property,lValue,Flags)
  12147.  
  12148. #define IAMVideoProcAmp_Get(This,Property,lValue,Flags)    \
  12149.     (This)->lpVtbl -> Get(This,Property,lValue,Flags)
  12150.  
  12151. #endif /* COBJMACROS */
  12152.  
  12153.  
  12154. #endif     /* C style interface */
  12155.  
  12156.  
  12157.  
  12158. HRESULT STDMETHODCALLTYPE IAMVideoProcAmp_GetRange_Proxy( 
  12159.     IAMVideoProcAmp * This,
  12160.     /* [in] */ long Property,
  12161.     /* [out] */ long *pMin,
  12162.     /* [out] */ long *pMax,
  12163.     /* [out] */ long *pSteppingDelta,
  12164.     /* [out] */ long *pDefault,
  12165.     /* [out] */ long *pCapsFlags);
  12166.  
  12167.  
  12168. void __RPC_STUB IAMVideoProcAmp_GetRange_Stub(
  12169.     IRpcStubBuffer *This,
  12170.     IRpcChannelBuffer *_pRpcChannelBuffer,
  12171.     PRPC_MESSAGE _pRpcMessage,
  12172.     DWORD *_pdwStubPhase);
  12173.  
  12174.  
  12175. HRESULT STDMETHODCALLTYPE IAMVideoProcAmp_Set_Proxy( 
  12176.     IAMVideoProcAmp * This,
  12177.     /* [in] */ long Property,
  12178.     /* [in] */ long lValue,
  12179.     /* [in] */ long Flags);
  12180.  
  12181.  
  12182. void __RPC_STUB IAMVideoProcAmp_Set_Stub(
  12183.     IRpcStubBuffer *This,
  12184.     IRpcChannelBuffer *_pRpcChannelBuffer,
  12185.     PRPC_MESSAGE _pRpcMessage,
  12186.     DWORD *_pdwStubPhase);
  12187.  
  12188.  
  12189. HRESULT STDMETHODCALLTYPE IAMVideoProcAmp_Get_Proxy( 
  12190.     IAMVideoProcAmp * This,
  12191.     /* [in] */ long Property,
  12192.     /* [out] */ long *lValue,
  12193.     /* [out] */ long *Flags);
  12194.  
  12195.  
  12196. void __RPC_STUB IAMVideoProcAmp_Get_Stub(
  12197.     IRpcStubBuffer *This,
  12198.     IRpcChannelBuffer *_pRpcChannelBuffer,
  12199.     PRPC_MESSAGE _pRpcMessage,
  12200.     DWORD *_pdwStubPhase);
  12201.  
  12202.  
  12203.  
  12204. #endif     /* __IAMVideoProcAmp_INTERFACE_DEFINED__ */
  12205.  
  12206.  
  12207. /* interface __MIDL_itf_strmif_0166 */
  12208. /* [local] */ 
  12209.  
  12210. typedef 
  12211. enum tagCameraControlProperty
  12212.     {    CameraControl_Pan    = 0,
  12213.     CameraControl_Tilt    = CameraControl_Pan + 1,
  12214.     CameraControl_Roll    = CameraControl_Tilt + 1,
  12215.     CameraControl_Zoom    = CameraControl_Roll + 1,
  12216.     CameraControl_Exposure    = CameraControl_Zoom + 1,
  12217.     CameraControl_Iris    = CameraControl_Exposure + 1,
  12218.     CameraControl_Focus    = CameraControl_Iris + 1
  12219.     }     CameraControlProperty;
  12220.  
  12221. typedef 
  12222. enum tagCameraControlFlags
  12223.     {    CameraControl_Flags_Auto    = 0x1,
  12224.     CameraControl_Flags_Manual    = 0x2
  12225.     }     CameraControlFlags;
  12226.  
  12227.  
  12228.  
  12229. extern RPC_IF_HANDLE __MIDL_itf_strmif_0166_v0_0_c_ifspec;
  12230. extern RPC_IF_HANDLE __MIDL_itf_strmif_0166_v0_0_s_ifspec;
  12231.  
  12232. #ifndef __IAMCameraControl_INTERFACE_DEFINED__
  12233. #define __IAMCameraControl_INTERFACE_DEFINED__
  12234.  
  12235. /* interface IAMCameraControl */
  12236. /* [unique][uuid][object] */ 
  12237.  
  12238.  
  12239. EXTERN_C const IID IID_IAMCameraControl;
  12240.  
  12241. #if defined(__cplusplus) && !defined(CINTERFACE)
  12242.     
  12243.     MIDL_INTERFACE("C6E13370-30AC-11d0-A18C-00A0C9118956")
  12244.     IAMCameraControl : public IUnknown
  12245.     {
  12246.     public:
  12247.         virtual HRESULT STDMETHODCALLTYPE GetRange( 
  12248.             /* [in] */ long Property,
  12249.             /* [out] */ long *pMin,
  12250.             /* [out] */ long *pMax,
  12251.             /* [out] */ long *pSteppingDelta,
  12252.             /* [out] */ long *pDefault,
  12253.             /* [out] */ long *pCapsFlags) = 0;
  12254.         
  12255.         virtual HRESULT STDMETHODCALLTYPE Set( 
  12256.             /* [in] */ long Property,
  12257.             /* [in] */ long lValue,
  12258.             /* [in] */ long Flags) = 0;
  12259.         
  12260.         virtual HRESULT STDMETHODCALLTYPE Get( 
  12261.             /* [in] */ long Property,
  12262.             /* [out] */ long *lValue,
  12263.             /* [out] */ long *Flags) = 0;
  12264.         
  12265.     };
  12266.     
  12267. #else     /* C style interface */
  12268.  
  12269.     typedef struct IAMCameraControlVtbl
  12270.     {
  12271.         BEGIN_INTERFACE
  12272.         
  12273.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  12274.             IAMCameraControl * This,
  12275.             /* [in] */ REFIID riid,
  12276.             /* [iid_is][out] */ void **ppvObject);
  12277.         
  12278.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  12279.             IAMCameraControl * This);
  12280.         
  12281.         ULONG ( STDMETHODCALLTYPE *Release )( 
  12282.             IAMCameraControl * This);
  12283.         
  12284.         HRESULT ( STDMETHODCALLTYPE *GetRange )( 
  12285.             IAMCameraControl * This,
  12286.             /* [in] */ long Property,
  12287.             /* [out] */ long *pMin,
  12288.             /* [out] */ long *pMax,
  12289.             /* [out] */ long *pSteppingDelta,
  12290.             /* [out] */ long *pDefault,
  12291.             /* [out] */ long *pCapsFlags);
  12292.         
  12293.         HRESULT ( STDMETHODCALLTYPE *Set )( 
  12294.             IAMCameraControl * This,
  12295.             /* [in] */ long Property,
  12296.             /* [in] */ long lValue,
  12297.             /* [in] */ long Flags);
  12298.         
  12299.         HRESULT ( STDMETHODCALLTYPE *Get )( 
  12300.             IAMCameraControl * This,
  12301.             /* [in] */ long Property,
  12302.             /* [out] */ long *lValue,
  12303.             /* [out] */ long *Flags);
  12304.         
  12305.         END_INTERFACE
  12306.     } IAMCameraControlVtbl;
  12307.  
  12308.     interface IAMCameraControl
  12309.     {
  12310.         CONST_VTBL struct IAMCameraControlVtbl *lpVtbl;
  12311.     };
  12312.  
  12313.     
  12314.  
  12315. #ifdef COBJMACROS
  12316.  
  12317.  
  12318. #define IAMCameraControl_QueryInterface(This,riid,ppvObject)    \
  12319.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  12320.  
  12321. #define IAMCameraControl_AddRef(This)    \
  12322.     (This)->lpVtbl -> AddRef(This)
  12323.  
  12324. #define IAMCameraControl_Release(This)    \
  12325.     (This)->lpVtbl -> Release(This)
  12326.  
  12327.  
  12328. #define IAMCameraControl_GetRange(This,Property,pMin,pMax,pSteppingDelta,pDefault,pCapsFlags)    \
  12329.     (This)->lpVtbl -> GetRange(This,Property,pMin,pMax,pSteppingDelta,pDefault,pCapsFlags)
  12330.  
  12331. #define IAMCameraControl_Set(This,Property,lValue,Flags)    \
  12332.     (This)->lpVtbl -> Set(This,Property,lValue,Flags)
  12333.  
  12334. #define IAMCameraControl_Get(This,Property,lValue,Flags)    \
  12335.     (This)->lpVtbl -> Get(This,Property,lValue,Flags)
  12336.  
  12337. #endif /* COBJMACROS */
  12338.  
  12339.  
  12340. #endif     /* C style interface */
  12341.  
  12342.  
  12343.  
  12344. HRESULT STDMETHODCALLTYPE IAMCameraControl_GetRange_Proxy( 
  12345.     IAMCameraControl * This,
  12346.     /* [in] */ long Property,
  12347.     /* [out] */ long *pMin,
  12348.     /* [out] */ long *pMax,
  12349.     /* [out] */ long *pSteppingDelta,
  12350.     /* [out] */ long *pDefault,
  12351.     /* [out] */ long *pCapsFlags);
  12352.  
  12353.  
  12354. void __RPC_STUB IAMCameraControl_GetRange_Stub(
  12355.     IRpcStubBuffer *This,
  12356.     IRpcChannelBuffer *_pRpcChannelBuffer,
  12357.     PRPC_MESSAGE _pRpcMessage,
  12358.     DWORD *_pdwStubPhase);
  12359.  
  12360.  
  12361. HRESULT STDMETHODCALLTYPE IAMCameraControl_Set_Proxy( 
  12362.     IAMCameraControl * This,
  12363.     /* [in] */ long Property,
  12364.     /* [in] */ long lValue,
  12365.     /* [in] */ long Flags);
  12366.  
  12367.  
  12368. void __RPC_STUB IAMCameraControl_Set_Stub(
  12369.     IRpcStubBuffer *This,
  12370.     IRpcChannelBuffer *_pRpcChannelBuffer,
  12371.     PRPC_MESSAGE _pRpcMessage,
  12372.     DWORD *_pdwStubPhase);
  12373.  
  12374.  
  12375. HRESULT STDMETHODCALLTYPE IAMCameraControl_Get_Proxy( 
  12376.     IAMCameraControl * This,
  12377.     /* [in] */ long Property,
  12378.     /* [out] */ long *lValue,
  12379.     /* [out] */ long *Flags);
  12380.  
  12381.  
  12382. void __RPC_STUB IAMCameraControl_Get_Stub(
  12383.     IRpcStubBuffer *This,
  12384.     IRpcChannelBuffer *_pRpcChannelBuffer,
  12385.     PRPC_MESSAGE _pRpcMessage,
  12386.     DWORD *_pdwStubPhase);
  12387.  
  12388.  
  12389.  
  12390. #endif     /* __IAMCameraControl_INTERFACE_DEFINED__ */
  12391.  
  12392.  
  12393. /* interface __MIDL_itf_strmif_0167 */
  12394. /* [local] */ 
  12395.  
  12396. typedef 
  12397. enum tagVideoControlFlags
  12398.     {    VideoControlFlag_FlipHorizontal    = 0x1,
  12399.     VideoControlFlag_FlipVertical    = 0x2,
  12400.     VideoControlFlag_ExternalTriggerEnable    = 0x4,
  12401.     VideoControlFlag_Trigger    = 0x8
  12402.     }     VideoControlFlags;
  12403.  
  12404.  
  12405.  
  12406. extern RPC_IF_HANDLE __MIDL_itf_strmif_0167_v0_0_c_ifspec;
  12407. extern RPC_IF_HANDLE __MIDL_itf_strmif_0167_v0_0_s_ifspec;
  12408.  
  12409. #ifndef __IAMVideoControl_INTERFACE_DEFINED__
  12410. #define __IAMVideoControl_INTERFACE_DEFINED__
  12411.  
  12412. /* interface IAMVideoControl */
  12413. /* [unique][uuid][object] */ 
  12414.  
  12415.  
  12416. EXTERN_C const IID IID_IAMVideoControl;
  12417.  
  12418. #if defined(__cplusplus) && !defined(CINTERFACE)
  12419.     
  12420.     MIDL_INTERFACE("6a2e0670-28e4-11d0-a18c-00a0c9118956")
  12421.     IAMVideoControl : public IUnknown
  12422.     {
  12423.     public:
  12424.         virtual HRESULT STDMETHODCALLTYPE GetCaps( 
  12425.             /* [in] */ IPin *pPin,
  12426.             /* [out] */ long *pCapsFlags) = 0;
  12427.         
  12428.         virtual HRESULT STDMETHODCALLTYPE SetMode( 
  12429.             /* [in] */ IPin *pPin,
  12430.             /* [in] */ long Mode) = 0;
  12431.         
  12432.         virtual HRESULT STDMETHODCALLTYPE GetMode( 
  12433.             /* [in] */ IPin *pPin,
  12434.             /* [out] */ long *Mode) = 0;
  12435.         
  12436.         virtual HRESULT STDMETHODCALLTYPE GetCurrentActualFrameRate( 
  12437.             /* [in] */ IPin *pPin,
  12438.             /* [out] */ LONGLONG *ActualFrameRate) = 0;
  12439.         
  12440.         virtual HRESULT STDMETHODCALLTYPE GetMaxAvailableFrameRate( 
  12441.             /* [in] */ IPin *pPin,
  12442.             /* [in] */ long iIndex,
  12443.             /* [in] */ SIZE Dimensions,
  12444.             /* [out] */ LONGLONG *MaxAvailableFrameRate) = 0;
  12445.         
  12446.         virtual HRESULT STDMETHODCALLTYPE GetFrameRateList( 
  12447.             /* [in] */ IPin *pPin,
  12448.             /* [in] */ long iIndex,
  12449.             /* [in] */ SIZE Dimensions,
  12450.             /* [out] */ long *ListSize,
  12451.             /* [out] */ LONGLONG **FrameRates) = 0;
  12452.         
  12453.     };
  12454.     
  12455. #else     /* C style interface */
  12456.  
  12457.     typedef struct IAMVideoControlVtbl
  12458.     {
  12459.         BEGIN_INTERFACE
  12460.         
  12461.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  12462.             IAMVideoControl * This,
  12463.             /* [in] */ REFIID riid,
  12464.             /* [iid_is][out] */ void **ppvObject);
  12465.         
  12466.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  12467.             IAMVideoControl * This);
  12468.         
  12469.         ULONG ( STDMETHODCALLTYPE *Release )( 
  12470.             IAMVideoControl * This);
  12471.         
  12472.         HRESULT ( STDMETHODCALLTYPE *GetCaps )( 
  12473.             IAMVideoControl * This,
  12474.             /* [in] */ IPin *pPin,
  12475.             /* [out] */ long *pCapsFlags);
  12476.         
  12477.         HRESULT ( STDMETHODCALLTYPE *SetMode )( 
  12478.             IAMVideoControl * This,
  12479.             /* [in] */ IPin *pPin,
  12480.             /* [in] */ long Mode);
  12481.         
  12482.         HRESULT ( STDMETHODCALLTYPE *GetMode )( 
  12483.             IAMVideoControl * This,
  12484.             /* [in] */ IPin *pPin,
  12485.             /* [out] */ long *Mode);
  12486.         
  12487.         HRESULT ( STDMETHODCALLTYPE *GetCurrentActualFrameRate )( 
  12488.             IAMVideoControl * This,
  12489.             /* [in] */ IPin *pPin,
  12490.             /* [out] */ LONGLONG *ActualFrameRate);
  12491.         
  12492.         HRESULT ( STDMETHODCALLTYPE *GetMaxAvailableFrameRate )( 
  12493.             IAMVideoControl * This,
  12494.             /* [in] */ IPin *pPin,
  12495.             /* [in] */ long iIndex,
  12496.             /* [in] */ SIZE Dimensions,
  12497.             /* [out] */ LONGLONG *MaxAvailableFrameRate);
  12498.         
  12499.         HRESULT ( STDMETHODCALLTYPE *GetFrameRateList )( 
  12500.             IAMVideoControl * This,
  12501.             /* [in] */ IPin *pPin,
  12502.             /* [in] */ long iIndex,
  12503.             /* [in] */ SIZE Dimensions,
  12504.             /* [out] */ long *ListSize,
  12505.             /* [out] */ LONGLONG **FrameRates);
  12506.         
  12507.         END_INTERFACE
  12508.     } IAMVideoControlVtbl;
  12509.  
  12510.     interface IAMVideoControl
  12511.     {
  12512.         CONST_VTBL struct IAMVideoControlVtbl *lpVtbl;
  12513.     };
  12514.  
  12515.     
  12516.  
  12517. #ifdef COBJMACROS
  12518.  
  12519.  
  12520. #define IAMVideoControl_QueryInterface(This,riid,ppvObject)    \
  12521.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  12522.  
  12523. #define IAMVideoControl_AddRef(This)    \
  12524.     (This)->lpVtbl -> AddRef(This)
  12525.  
  12526. #define IAMVideoControl_Release(This)    \
  12527.     (This)->lpVtbl -> Release(This)
  12528.  
  12529.  
  12530. #define IAMVideoControl_GetCaps(This,pPin,pCapsFlags)    \
  12531.     (This)->lpVtbl -> GetCaps(This,pPin,pCapsFlags)
  12532.  
  12533. #define IAMVideoControl_SetMode(This,pPin,Mode)    \
  12534.     (This)->lpVtbl -> SetMode(This,pPin,Mode)
  12535.  
  12536. #define IAMVideoControl_GetMode(This,pPin,Mode)    \
  12537.     (This)->lpVtbl -> GetMode(This,pPin,Mode)
  12538.  
  12539. #define IAMVideoControl_GetCurrentActualFrameRate(This,pPin,ActualFrameRate)    \
  12540.     (This)->lpVtbl -> GetCurrentActualFrameRate(This,pPin,ActualFrameRate)
  12541.  
  12542. #define IAMVideoControl_GetMaxAvailableFrameRate(This,pPin,iIndex,Dimensions,MaxAvailableFrameRate)    \
  12543.     (This)->lpVtbl -> GetMaxAvailableFrameRate(This,pPin,iIndex,Dimensions,MaxAvailableFrameRate)
  12544.  
  12545. #define IAMVideoControl_GetFrameRateList(This,pPin,iIndex,Dimensions,ListSize,FrameRates)    \
  12546.     (This)->lpVtbl -> GetFrameRateList(This,pPin,iIndex,Dimensions,ListSize,FrameRates)
  12547.  
  12548. #endif /* COBJMACROS */
  12549.  
  12550.  
  12551. #endif     /* C style interface */
  12552.  
  12553.  
  12554.  
  12555. HRESULT STDMETHODCALLTYPE IAMVideoControl_GetCaps_Proxy( 
  12556.     IAMVideoControl * This,
  12557.     /* [in] */ IPin *pPin,
  12558.     /* [out] */ long *pCapsFlags);
  12559.  
  12560.  
  12561. void __RPC_STUB IAMVideoControl_GetCaps_Stub(
  12562.     IRpcStubBuffer *This,
  12563.     IRpcChannelBuffer *_pRpcChannelBuffer,
  12564.     PRPC_MESSAGE _pRpcMessage,
  12565.     DWORD *_pdwStubPhase);
  12566.  
  12567.  
  12568. HRESULT STDMETHODCALLTYPE IAMVideoControl_SetMode_Proxy( 
  12569.     IAMVideoControl * This,
  12570.     /* [in] */ IPin *pPin,
  12571.     /* [in] */ long Mode);
  12572.  
  12573.  
  12574. void __RPC_STUB IAMVideoControl_SetMode_Stub(
  12575.     IRpcStubBuffer *This,
  12576.     IRpcChannelBuffer *_pRpcChannelBuffer,
  12577.     PRPC_MESSAGE _pRpcMessage,
  12578.     DWORD *_pdwStubPhase);
  12579.  
  12580.  
  12581. HRESULT STDMETHODCALLTYPE IAMVideoControl_GetMode_Proxy( 
  12582.     IAMVideoControl * This,
  12583.     /* [in] */ IPin *pPin,
  12584.     /* [out] */ long *Mode);
  12585.  
  12586.  
  12587. void __RPC_STUB IAMVideoControl_GetMode_Stub(
  12588.     IRpcStubBuffer *This,
  12589.     IRpcChannelBuffer *_pRpcChannelBuffer,
  12590.     PRPC_MESSAGE _pRpcMessage,
  12591.     DWORD *_pdwStubPhase);
  12592.  
  12593.  
  12594. HRESULT STDMETHODCALLTYPE IAMVideoControl_GetCurrentActualFrameRate_Proxy( 
  12595.     IAMVideoControl * This,
  12596.     /* [in] */ IPin *pPin,
  12597.     /* [out] */ LONGLONG *ActualFrameRate);
  12598.  
  12599.  
  12600. void __RPC_STUB IAMVideoControl_GetCurrentActualFrameRate_Stub(
  12601.     IRpcStubBuffer *This,
  12602.     IRpcChannelBuffer *_pRpcChannelBuffer,
  12603.     PRPC_MESSAGE _pRpcMessage,
  12604.     DWORD *_pdwStubPhase);
  12605.  
  12606.  
  12607. HRESULT STDMETHODCALLTYPE IAMVideoControl_GetMaxAvailableFrameRate_Proxy( 
  12608.     IAMVideoControl * This,
  12609.     /* [in] */ IPin *pPin,
  12610.     /* [in] */ long iIndex,
  12611.     /* [in] */ SIZE Dimensions,
  12612.     /* [out] */ LONGLONG *MaxAvailableFrameRate);
  12613.  
  12614.  
  12615. void __RPC_STUB IAMVideoControl_GetMaxAvailableFrameRate_Stub(
  12616.     IRpcStubBuffer *This,
  12617.     IRpcChannelBuffer *_pRpcChannelBuffer,
  12618.     PRPC_MESSAGE _pRpcMessage,
  12619.     DWORD *_pdwStubPhase);
  12620.  
  12621.  
  12622. HRESULT STDMETHODCALLTYPE IAMVideoControl_GetFrameRateList_Proxy( 
  12623.     IAMVideoControl * This,
  12624.     /* [in] */ IPin *pPin,
  12625.     /* [in] */ long iIndex,
  12626.     /* [in] */ SIZE Dimensions,
  12627.     /* [out] */ long *ListSize,
  12628.     /* [out] */ LONGLONG **FrameRates);
  12629.  
  12630.  
  12631. void __RPC_STUB IAMVideoControl_GetFrameRateList_Stub(
  12632.     IRpcStubBuffer *This,
  12633.     IRpcChannelBuffer *_pRpcChannelBuffer,
  12634.     PRPC_MESSAGE _pRpcMessage,
  12635.     DWORD *_pdwStubPhase);
  12636.  
  12637.  
  12638.  
  12639. #endif     /* __IAMVideoControl_INTERFACE_DEFINED__ */
  12640.  
  12641.  
  12642. #ifndef __IAMCrossbar_INTERFACE_DEFINED__
  12643. #define __IAMCrossbar_INTERFACE_DEFINED__
  12644.  
  12645. /* interface IAMCrossbar */
  12646. /* [unique][uuid][object] */ 
  12647.  
  12648.  
  12649. EXTERN_C const IID IID_IAMCrossbar;
  12650.  
  12651. #if defined(__cplusplus) && !defined(CINTERFACE)
  12652.     
  12653.     MIDL_INTERFACE("C6E13380-30AC-11d0-A18C-00A0C9118956")
  12654.     IAMCrossbar : public IUnknown
  12655.     {
  12656.     public:
  12657.         virtual HRESULT STDMETHODCALLTYPE get_PinCounts( 
  12658.             /* [out] */ long *OutputPinCount,
  12659.             /* [out] */ long *InputPinCount) = 0;
  12660.         
  12661.         virtual HRESULT STDMETHODCALLTYPE CanRoute( 
  12662.             /* [in] */ long OutputPinIndex,
  12663.             /* [in] */ long InputPinIndex) = 0;
  12664.         
  12665.         virtual HRESULT STDMETHODCALLTYPE Route( 
  12666.             /* [in] */ long OutputPinIndex,
  12667.             /* [in] */ long InputPinIndex) = 0;
  12668.         
  12669.         virtual HRESULT STDMETHODCALLTYPE get_IsRoutedTo( 
  12670.             /* [in] */ long OutputPinIndex,
  12671.             /* [out] */ long *InputPinIndex) = 0;
  12672.         
  12673.         virtual HRESULT STDMETHODCALLTYPE get_CrossbarPinInfo( 
  12674.             /* [in] */ BOOL IsInputPin,
  12675.             /* [in] */ long PinIndex,
  12676.             /* [out] */ long *PinIndexRelated,
  12677.             /* [out] */ long *PhysicalType) = 0;
  12678.         
  12679.     };
  12680.     
  12681. #else     /* C style interface */
  12682.  
  12683.     typedef struct IAMCrossbarVtbl
  12684.     {
  12685.         BEGIN_INTERFACE
  12686.         
  12687.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  12688.             IAMCrossbar * This,
  12689.             /* [in] */ REFIID riid,
  12690.             /* [iid_is][out] */ void **ppvObject);
  12691.         
  12692.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  12693.             IAMCrossbar * This);
  12694.         
  12695.         ULONG ( STDMETHODCALLTYPE *Release )( 
  12696.             IAMCrossbar * This);
  12697.         
  12698.         HRESULT ( STDMETHODCALLTYPE *get_PinCounts )( 
  12699.             IAMCrossbar * This,
  12700.             /* [out] */ long *OutputPinCount,
  12701.             /* [out] */ long *InputPinCount);
  12702.         
  12703.         HRESULT ( STDMETHODCALLTYPE *CanRoute )( 
  12704.             IAMCrossbar * This,
  12705.             /* [in] */ long OutputPinIndex,
  12706.             /* [in] */ long InputPinIndex);
  12707.         
  12708.         HRESULT ( STDMETHODCALLTYPE *Route )( 
  12709.             IAMCrossbar * This,
  12710.             /* [in] */ long OutputPinIndex,
  12711.             /* [in] */ long InputPinIndex);
  12712.         
  12713.         HRESULT ( STDMETHODCALLTYPE *get_IsRoutedTo )( 
  12714.             IAMCrossbar * This,
  12715.             /* [in] */ long OutputPinIndex,
  12716.             /* [out] */ long *InputPinIndex);
  12717.         
  12718.         HRESULT ( STDMETHODCALLTYPE *get_CrossbarPinInfo )( 
  12719.             IAMCrossbar * This,
  12720.             /* [in] */ BOOL IsInputPin,
  12721.             /* [in] */ long PinIndex,
  12722.             /* [out] */ long *PinIndexRelated,
  12723.             /* [out] */ long *PhysicalType);
  12724.         
  12725.         END_INTERFACE
  12726.     } IAMCrossbarVtbl;
  12727.  
  12728.     interface IAMCrossbar
  12729.     {
  12730.         CONST_VTBL struct IAMCrossbarVtbl *lpVtbl;
  12731.     };
  12732.  
  12733.     
  12734.  
  12735. #ifdef COBJMACROS
  12736.  
  12737.  
  12738. #define IAMCrossbar_QueryInterface(This,riid,ppvObject)    \
  12739.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  12740.  
  12741. #define IAMCrossbar_AddRef(This)    \
  12742.     (This)->lpVtbl -> AddRef(This)
  12743.  
  12744. #define IAMCrossbar_Release(This)    \
  12745.     (This)->lpVtbl -> Release(This)
  12746.  
  12747.  
  12748. #define IAMCrossbar_get_PinCounts(This,OutputPinCount,InputPinCount)    \
  12749.     (This)->lpVtbl -> get_PinCounts(This,OutputPinCount,InputPinCount)
  12750.  
  12751. #define IAMCrossbar_CanRoute(This,OutputPinIndex,InputPinIndex)    \
  12752.     (This)->lpVtbl -> CanRoute(This,OutputPinIndex,InputPinIndex)
  12753.  
  12754. #define IAMCrossbar_Route(This,OutputPinIndex,InputPinIndex)    \
  12755.     (This)->lpVtbl -> Route(This,OutputPinIndex,InputPinIndex)
  12756.  
  12757. #define IAMCrossbar_get_IsRoutedTo(This,OutputPinIndex,InputPinIndex)    \
  12758.     (This)->lpVtbl -> get_IsRoutedTo(This,OutputPinIndex,InputPinIndex)
  12759.  
  12760. #define IAMCrossbar_get_CrossbarPinInfo(This,IsInputPin,PinIndex,PinIndexRelated,PhysicalType)    \
  12761.     (This)->lpVtbl -> get_CrossbarPinInfo(This,IsInputPin,PinIndex,PinIndexRelated,PhysicalType)
  12762.  
  12763. #endif /* COBJMACROS */
  12764.  
  12765.  
  12766. #endif     /* C style interface */
  12767.  
  12768.  
  12769.  
  12770. HRESULT STDMETHODCALLTYPE IAMCrossbar_get_PinCounts_Proxy( 
  12771.     IAMCrossbar * This,
  12772.     /* [out] */ long *OutputPinCount,
  12773.     /* [out] */ long *InputPinCount);
  12774.  
  12775.  
  12776. void __RPC_STUB IAMCrossbar_get_PinCounts_Stub(
  12777.     IRpcStubBuffer *This,
  12778.     IRpcChannelBuffer *_pRpcChannelBuffer,
  12779.     PRPC_MESSAGE _pRpcMessage,
  12780.     DWORD *_pdwStubPhase);
  12781.  
  12782.  
  12783. HRESULT STDMETHODCALLTYPE IAMCrossbar_CanRoute_Proxy( 
  12784.     IAMCrossbar * This,
  12785.     /* [in] */ long OutputPinIndex,
  12786.     /* [in] */ long InputPinIndex);
  12787.  
  12788.  
  12789. void __RPC_STUB IAMCrossbar_CanRoute_Stub(
  12790.     IRpcStubBuffer *This,
  12791.     IRpcChannelBuffer *_pRpcChannelBuffer,
  12792.     PRPC_MESSAGE _pRpcMessage,
  12793.     DWORD *_pdwStubPhase);
  12794.  
  12795.  
  12796. HRESULT STDMETHODCALLTYPE IAMCrossbar_Route_Proxy( 
  12797.     IAMCrossbar * This,
  12798.     /* [in] */ long OutputPinIndex,
  12799.     /* [in] */ long InputPinIndex);
  12800.  
  12801.  
  12802. void __RPC_STUB IAMCrossbar_Route_Stub(
  12803.     IRpcStubBuffer *This,
  12804.     IRpcChannelBuffer *_pRpcChannelBuffer,
  12805.     PRPC_MESSAGE _pRpcMessage,
  12806.     DWORD *_pdwStubPhase);
  12807.  
  12808.  
  12809. HRESULT STDMETHODCALLTYPE IAMCrossbar_get_IsRoutedTo_Proxy( 
  12810.     IAMCrossbar * This,
  12811.     /* [in] */ long OutputPinIndex,
  12812.     /* [out] */ long *InputPinIndex);
  12813.  
  12814.  
  12815. void __RPC_STUB IAMCrossbar_get_IsRoutedTo_Stub(
  12816.     IRpcStubBuffer *This,
  12817.     IRpcChannelBuffer *_pRpcChannelBuffer,
  12818.     PRPC_MESSAGE _pRpcMessage,
  12819.     DWORD *_pdwStubPhase);
  12820.  
  12821.  
  12822. HRESULT STDMETHODCALLTYPE IAMCrossbar_get_CrossbarPinInfo_Proxy( 
  12823.     IAMCrossbar * This,
  12824.     /* [in] */ BOOL IsInputPin,
  12825.     /* [in] */ long PinIndex,
  12826.     /* [out] */ long *PinIndexRelated,
  12827.     /* [out] */ long *PhysicalType);
  12828.  
  12829.  
  12830. void __RPC_STUB IAMCrossbar_get_CrossbarPinInfo_Stub(
  12831.     IRpcStubBuffer *This,
  12832.     IRpcChannelBuffer *_pRpcChannelBuffer,
  12833.     PRPC_MESSAGE _pRpcMessage,
  12834.     DWORD *_pdwStubPhase);
  12835.  
  12836.  
  12837.  
  12838. #endif     /* __IAMCrossbar_INTERFACE_DEFINED__ */
  12839.  
  12840.  
  12841. /* interface __MIDL_itf_strmif_0169 */
  12842. /* [local] */ 
  12843.  
  12844. typedef 
  12845. enum tagAMTunerSubChannel
  12846.     {    AMTUNER_SUBCHAN_NO_TUNE    = -2,
  12847.     AMTUNER_SUBCHAN_DEFAULT    = -1
  12848.     }     AMTunerSubChannel;
  12849.  
  12850. typedef 
  12851. enum tagAMTunerSignalStrength
  12852.     {    AMTUNER_HASNOSIGNALSTRENGTH    = -1,
  12853.     AMTUNER_NOSIGNAL    = 0,
  12854.     AMTUNER_SIGNALPRESENT    = 1
  12855.     }     AMTunerSignalStrength;
  12856.  
  12857. typedef 
  12858. enum tagAMTunerModeType
  12859.     {    AMTUNER_MODE_DEFAULT    = 0,
  12860.     AMTUNER_MODE_TV    = 0x1,
  12861.     AMTUNER_MODE_FM_RADIO    = 0x2,
  12862.     AMTUNER_MODE_AM_RADIO    = 0x4,
  12863.     AMTUNER_MODE_DSS    = 0x8
  12864.     }     AMTunerModeType;
  12865.  
  12866. typedef 
  12867. enum tagAMTunerEventType
  12868.     {    AMTUNER_EVENT_CHANGED    = 0x1
  12869.     }     AMTunerEventType;
  12870.  
  12871.  
  12872.  
  12873.  
  12874. extern RPC_IF_HANDLE __MIDL_itf_strmif_0169_v0_0_c_ifspec;
  12875. extern RPC_IF_HANDLE __MIDL_itf_strmif_0169_v0_0_s_ifspec;
  12876.  
  12877. #ifndef __IAMTuner_INTERFACE_DEFINED__
  12878. #define __IAMTuner_INTERFACE_DEFINED__
  12879.  
  12880. /* interface IAMTuner */
  12881. /* [unique][uuid][object] */ 
  12882.  
  12883.  
  12884. EXTERN_C const IID IID_IAMTuner;
  12885.  
  12886. #if defined(__cplusplus) && !defined(CINTERFACE)
  12887.     
  12888.     MIDL_INTERFACE("211A8761-03AC-11d1-8D13-00AA00BD8339")
  12889.     IAMTuner : public IUnknown
  12890.     {
  12891.     public:
  12892.         virtual HRESULT STDMETHODCALLTYPE put_Channel( 
  12893.             /* [in] */ long lChannel,
  12894.             /* [in] */ long lVideoSubChannel,
  12895.             /* [in] */ long lAudioSubChannel) = 0;
  12896.         
  12897.         virtual HRESULT STDMETHODCALLTYPE get_Channel( 
  12898.             /* [out] */ long *plChannel,
  12899.             /* [out] */ long *plVideoSubChannel,
  12900.             /* [out] */ long *plAudioSubChannel) = 0;
  12901.         
  12902.         virtual HRESULT STDMETHODCALLTYPE ChannelMinMax( 
  12903.             /* [out] */ long *lChannelMin,
  12904.             /* [out] */ long *lChannelMax) = 0;
  12905.         
  12906.         virtual HRESULT STDMETHODCALLTYPE put_CountryCode( 
  12907.             /* [in] */ long lCountryCode) = 0;
  12908.         
  12909.         virtual HRESULT STDMETHODCALLTYPE get_CountryCode( 
  12910.             /* [out] */ long *plCountryCode) = 0;
  12911.         
  12912.         virtual HRESULT STDMETHODCALLTYPE put_TuningSpace( 
  12913.             /* [in] */ long lTuningSpace) = 0;
  12914.         
  12915.         virtual HRESULT STDMETHODCALLTYPE get_TuningSpace( 
  12916.             /* [out] */ long *plTuningSpace) = 0;
  12917.         
  12918.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE Logon( 
  12919.             /* [in] */ HANDLE hCurrentUser) = 0;
  12920.         
  12921.         virtual HRESULT STDMETHODCALLTYPE Logout( void) = 0;
  12922.         
  12923.         virtual HRESULT STDMETHODCALLTYPE SignalPresent( 
  12924.             /* [out] */ long *plSignalStrength) = 0;
  12925.         
  12926.         virtual HRESULT STDMETHODCALLTYPE put_Mode( 
  12927.             /* [in] */ AMTunerModeType lMode) = 0;
  12928.         
  12929.         virtual HRESULT STDMETHODCALLTYPE get_Mode( 
  12930.             /* [out] */ AMTunerModeType *plMode) = 0;
  12931.         
  12932.         virtual HRESULT STDMETHODCALLTYPE GetAvailableModes( 
  12933.             /* [out] */ long *plModes) = 0;
  12934.         
  12935.         virtual HRESULT STDMETHODCALLTYPE RegisterNotificationCallBack( 
  12936.             /* [in] */ IAMTunerNotification *pNotify,
  12937.             /* [in] */ long lEvents) = 0;
  12938.         
  12939.         virtual HRESULT STDMETHODCALLTYPE UnRegisterNotificationCallBack( 
  12940.             /* [in] */ IAMTunerNotification *pNotify) = 0;
  12941.         
  12942.     };
  12943.     
  12944. #else     /* C style interface */
  12945.  
  12946.     typedef struct IAMTunerVtbl
  12947.     {
  12948.         BEGIN_INTERFACE
  12949.         
  12950.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  12951.             IAMTuner * This,
  12952.             /* [in] */ REFIID riid,
  12953.             /* [iid_is][out] */ void **ppvObject);
  12954.         
  12955.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  12956.             IAMTuner * This);
  12957.         
  12958.         ULONG ( STDMETHODCALLTYPE *Release )( 
  12959.             IAMTuner * This);
  12960.         
  12961.         HRESULT ( STDMETHODCALLTYPE *put_Channel )( 
  12962.             IAMTuner * This,
  12963.             /* [in] */ long lChannel,
  12964.             /* [in] */ long lVideoSubChannel,
  12965.             /* [in] */ long lAudioSubChannel);
  12966.         
  12967.         HRESULT ( STDMETHODCALLTYPE *get_Channel )( 
  12968.             IAMTuner * This,
  12969.             /* [out] */ long *plChannel,
  12970.             /* [out] */ long *plVideoSubChannel,
  12971.             /* [out] */ long *plAudioSubChannel);
  12972.         
  12973.         HRESULT ( STDMETHODCALLTYPE *ChannelMinMax )( 
  12974.             IAMTuner * This,
  12975.             /* [out] */ long *lChannelMin,
  12976.             /* [out] */ long *lChannelMax);
  12977.         
  12978.         HRESULT ( STDMETHODCALLTYPE *put_CountryCode )( 
  12979.             IAMTuner * This,
  12980.             /* [in] */ long lCountryCode);
  12981.         
  12982.         HRESULT ( STDMETHODCALLTYPE *get_CountryCode )( 
  12983.             IAMTuner * This,
  12984.             /* [out] */ long *plCountryCode);
  12985.         
  12986.         HRESULT ( STDMETHODCALLTYPE *put_TuningSpace )( 
  12987.             IAMTuner * This,
  12988.             /* [in] */ long lTuningSpace);
  12989.         
  12990.         HRESULT ( STDMETHODCALLTYPE *get_TuningSpace )( 
  12991.             IAMTuner * This,
  12992.             /* [out] */ long *plTuningSpace);
  12993.         
  12994.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Logon )( 
  12995.             IAMTuner * This,
  12996.             /* [in] */ HANDLE hCurrentUser);
  12997.         
  12998.         HRESULT ( STDMETHODCALLTYPE *Logout )( 
  12999.             IAMTuner * This);
  13000.         
  13001.         HRESULT ( STDMETHODCALLTYPE *SignalPresent )( 
  13002.             IAMTuner * This,
  13003.             /* [out] */ long *plSignalStrength);
  13004.         
  13005.         HRESULT ( STDMETHODCALLTYPE *put_Mode )( 
  13006.             IAMTuner * This,
  13007.             /* [in] */ AMTunerModeType lMode);
  13008.         
  13009.         HRESULT ( STDMETHODCALLTYPE *get_Mode )( 
  13010.             IAMTuner * This,
  13011.             /* [out] */ AMTunerModeType *plMode);
  13012.         
  13013.         HRESULT ( STDMETHODCALLTYPE *GetAvailableModes )( 
  13014.             IAMTuner * This,
  13015.             /* [out] */ long *plModes);
  13016.         
  13017.         HRESULT ( STDMETHODCALLTYPE *RegisterNotificationCallBack )( 
  13018.             IAMTuner * This,
  13019.             /* [in] */ IAMTunerNotification *pNotify,
  13020.             /* [in] */ long lEvents);
  13021.         
  13022.         HRESULT ( STDMETHODCALLTYPE *UnRegisterNotificationCallBack )( 
  13023.             IAMTuner * This,
  13024.             /* [in] */ IAMTunerNotification *pNotify);
  13025.         
  13026.         END_INTERFACE
  13027.     } IAMTunerVtbl;
  13028.  
  13029.     interface IAMTuner
  13030.     {
  13031.         CONST_VTBL struct IAMTunerVtbl *lpVtbl;
  13032.     };
  13033.  
  13034.     
  13035.  
  13036. #ifdef COBJMACROS
  13037.  
  13038.  
  13039. #define IAMTuner_QueryInterface(This,riid,ppvObject)    \
  13040.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  13041.  
  13042. #define IAMTuner_AddRef(This)    \
  13043.     (This)->lpVtbl -> AddRef(This)
  13044.  
  13045. #define IAMTuner_Release(This)    \
  13046.     (This)->lpVtbl -> Release(This)
  13047.  
  13048.  
  13049. #define IAMTuner_put_Channel(This,lChannel,lVideoSubChannel,lAudioSubChannel)    \
  13050.     (This)->lpVtbl -> put_Channel(This,lChannel,lVideoSubChannel,lAudioSubChannel)
  13051.  
  13052. #define IAMTuner_get_Channel(This,plChannel,plVideoSubChannel,plAudioSubChannel)    \
  13053.     (This)->lpVtbl -> get_Channel(This,plChannel,plVideoSubChannel,plAudioSubChannel)
  13054.  
  13055. #define IAMTuner_ChannelMinMax(This,lChannelMin,lChannelMax)    \
  13056.     (This)->lpVtbl -> ChannelMinMax(This,lChannelMin,lChannelMax)
  13057.  
  13058. #define IAMTuner_put_CountryCode(This,lCountryCode)    \
  13059.     (This)->lpVtbl -> put_CountryCode(This,lCountryCode)
  13060.  
  13061. #define IAMTuner_get_CountryCode(This,plCountryCode)    \
  13062.     (This)->lpVtbl -> get_CountryCode(This,plCountryCode)
  13063.  
  13064. #define IAMTuner_put_TuningSpace(This,lTuningSpace)    \
  13065.     (This)->lpVtbl -> put_TuningSpace(This,lTuningSpace)
  13066.  
  13067. #define IAMTuner_get_TuningSpace(This,plTuningSpace)    \
  13068.     (This)->lpVtbl -> get_TuningSpace(This,plTuningSpace)
  13069.  
  13070. #define IAMTuner_Logon(This,hCurrentUser)    \
  13071.     (This)->lpVtbl -> Logon(This,hCurrentUser)
  13072.  
  13073. #define IAMTuner_Logout(This)    \
  13074.     (This)->lpVtbl -> Logout(This)
  13075.  
  13076. #define IAMTuner_SignalPresent(This,plSignalStrength)    \
  13077.     (This)->lpVtbl -> SignalPresent(This,plSignalStrength)
  13078.  
  13079. #define IAMTuner_put_Mode(This,lMode)    \
  13080.     (This)->lpVtbl -> put_Mode(This,lMode)
  13081.  
  13082. #define IAMTuner_get_Mode(This,plMode)    \
  13083.     (This)->lpVtbl -> get_Mode(This,plMode)
  13084.  
  13085. #define IAMTuner_GetAvailableModes(This,plModes)    \
  13086.     (This)->lpVtbl -> GetAvailableModes(This,plModes)
  13087.  
  13088. #define IAMTuner_RegisterNotificationCallBack(This,pNotify,lEvents)    \
  13089.     (This)->lpVtbl -> RegisterNotificationCallBack(This,pNotify,lEvents)
  13090.  
  13091. #define IAMTuner_UnRegisterNotificationCallBack(This,pNotify)    \
  13092.     (This)->lpVtbl -> UnRegisterNotificationCallBack(This,pNotify)
  13093.  
  13094. #endif /* COBJMACROS */
  13095.  
  13096.  
  13097. #endif     /* C style interface */
  13098.  
  13099.  
  13100.  
  13101. HRESULT STDMETHODCALLTYPE IAMTuner_put_Channel_Proxy( 
  13102.     IAMTuner * This,
  13103.     /* [in] */ long lChannel,
  13104.     /* [in] */ long lVideoSubChannel,
  13105.     /* [in] */ long lAudioSubChannel);
  13106.  
  13107.  
  13108. void __RPC_STUB IAMTuner_put_Channel_Stub(
  13109.     IRpcStubBuffer *This,
  13110.     IRpcChannelBuffer *_pRpcChannelBuffer,
  13111.     PRPC_MESSAGE _pRpcMessage,
  13112.     DWORD *_pdwStubPhase);
  13113.  
  13114.  
  13115. HRESULT STDMETHODCALLTYPE IAMTuner_get_Channel_Proxy( 
  13116.     IAMTuner * This,
  13117.     /* [out] */ long *plChannel,
  13118.     /* [out] */ long *plVideoSubChannel,
  13119.     /* [out] */ long *plAudioSubChannel);
  13120.  
  13121.  
  13122. void __RPC_STUB IAMTuner_get_Channel_Stub(
  13123.     IRpcStubBuffer *This,
  13124.     IRpcChannelBuffer *_pRpcChannelBuffer,
  13125.     PRPC_MESSAGE _pRpcMessage,
  13126.     DWORD *_pdwStubPhase);
  13127.  
  13128.  
  13129. HRESULT STDMETHODCALLTYPE IAMTuner_ChannelMinMax_Proxy( 
  13130.     IAMTuner * This,
  13131.     /* [out] */ long *lChannelMin,
  13132.     /* [out] */ long *lChannelMax);
  13133.  
  13134.  
  13135. void __RPC_STUB IAMTuner_ChannelMinMax_Stub(
  13136.     IRpcStubBuffer *This,
  13137.     IRpcChannelBuffer *_pRpcChannelBuffer,
  13138.     PRPC_MESSAGE _pRpcMessage,
  13139.     DWORD *_pdwStubPhase);
  13140.  
  13141.  
  13142. HRESULT STDMETHODCALLTYPE IAMTuner_put_CountryCode_Proxy( 
  13143.     IAMTuner * This,
  13144.     /* [in] */ long lCountryCode);
  13145.  
  13146.  
  13147. void __RPC_STUB IAMTuner_put_CountryCode_Stub(
  13148.     IRpcStubBuffer *This,
  13149.     IRpcChannelBuffer *_pRpcChannelBuffer,
  13150.     PRPC_MESSAGE _pRpcMessage,
  13151.     DWORD *_pdwStubPhase);
  13152.  
  13153.  
  13154. HRESULT STDMETHODCALLTYPE IAMTuner_get_CountryCode_Proxy( 
  13155.     IAMTuner * This,
  13156.     /* [out] */ long *plCountryCode);
  13157.  
  13158.  
  13159. void __RPC_STUB IAMTuner_get_CountryCode_Stub(
  13160.     IRpcStubBuffer *This,
  13161.     IRpcChannelBuffer *_pRpcChannelBuffer,
  13162.     PRPC_MESSAGE _pRpcMessage,
  13163.     DWORD *_pdwStubPhase);
  13164.  
  13165.  
  13166. HRESULT STDMETHODCALLTYPE IAMTuner_put_TuningSpace_Proxy( 
  13167.     IAMTuner * This,
  13168.     /* [in] */ long lTuningSpace);
  13169.  
  13170.  
  13171. void __RPC_STUB IAMTuner_put_TuningSpace_Stub(
  13172.     IRpcStubBuffer *This,
  13173.     IRpcChannelBuffer *_pRpcChannelBuffer,
  13174.     PRPC_MESSAGE _pRpcMessage,
  13175.     DWORD *_pdwStubPhase);
  13176.  
  13177.  
  13178. HRESULT STDMETHODCALLTYPE IAMTuner_get_TuningSpace_Proxy( 
  13179.     IAMTuner * This,
  13180.     /* [out] */ long *plTuningSpace);
  13181.  
  13182.  
  13183. void __RPC_STUB IAMTuner_get_TuningSpace_Stub(
  13184.     IRpcStubBuffer *This,
  13185.     IRpcChannelBuffer *_pRpcChannelBuffer,
  13186.     PRPC_MESSAGE _pRpcMessage,
  13187.     DWORD *_pdwStubPhase);
  13188.  
  13189.  
  13190. /* [local] */ HRESULT STDMETHODCALLTYPE IAMTuner_Logon_Proxy( 
  13191.     IAMTuner * This,
  13192.     /* [in] */ HANDLE hCurrentUser);
  13193.  
  13194.  
  13195. void __RPC_STUB IAMTuner_Logon_Stub(
  13196.     IRpcStubBuffer *This,
  13197.     IRpcChannelBuffer *_pRpcChannelBuffer,
  13198.     PRPC_MESSAGE _pRpcMessage,
  13199.     DWORD *_pdwStubPhase);
  13200.  
  13201.  
  13202. HRESULT STDMETHODCALLTYPE IAMTuner_Logout_Proxy( 
  13203.     IAMTuner * This);
  13204.  
  13205.  
  13206. void __RPC_STUB IAMTuner_Logout_Stub(
  13207.     IRpcStubBuffer *This,
  13208.     IRpcChannelBuffer *_pRpcChannelBuffer,
  13209.     PRPC_MESSAGE _pRpcMessage,
  13210.     DWORD *_pdwStubPhase);
  13211.  
  13212.  
  13213. HRESULT STDMETHODCALLTYPE IAMTuner_SignalPresent_Proxy( 
  13214.     IAMTuner * This,
  13215.     /* [out] */ long *plSignalStrength);
  13216.  
  13217.  
  13218. void __RPC_STUB IAMTuner_SignalPresent_Stub(
  13219.     IRpcStubBuffer *This,
  13220.     IRpcChannelBuffer *_pRpcChannelBuffer,
  13221.     PRPC_MESSAGE _pRpcMessage,
  13222.     DWORD *_pdwStubPhase);
  13223.  
  13224.  
  13225. HRESULT STDMETHODCALLTYPE IAMTuner_put_Mode_Proxy( 
  13226.     IAMTuner * This,
  13227.     /* [in] */ AMTunerModeType lMode);
  13228.  
  13229.  
  13230. void __RPC_STUB IAMTuner_put_Mode_Stub(
  13231.     IRpcStubBuffer *This,
  13232.     IRpcChannelBuffer *_pRpcChannelBuffer,
  13233.     PRPC_MESSAGE _pRpcMessage,
  13234.     DWORD *_pdwStubPhase);
  13235.  
  13236.  
  13237. HRESULT STDMETHODCALLTYPE IAMTuner_get_Mode_Proxy( 
  13238.     IAMTuner * This,
  13239.     /* [out] */ AMTunerModeType *plMode);
  13240.  
  13241.  
  13242. void __RPC_STUB IAMTuner_get_Mode_Stub(
  13243.     IRpcStubBuffer *This,
  13244.     IRpcChannelBuffer *_pRpcChannelBuffer,
  13245.     PRPC_MESSAGE _pRpcMessage,
  13246.     DWORD *_pdwStubPhase);
  13247.  
  13248.  
  13249. HRESULT STDMETHODCALLTYPE IAMTuner_GetAvailableModes_Proxy( 
  13250.     IAMTuner * This,
  13251.     /* [out] */ long *plModes);
  13252.  
  13253.  
  13254. void __RPC_STUB IAMTuner_GetAvailableModes_Stub(
  13255.     IRpcStubBuffer *This,
  13256.     IRpcChannelBuffer *_pRpcChannelBuffer,
  13257.     PRPC_MESSAGE _pRpcMessage,
  13258.     DWORD *_pdwStubPhase);
  13259.  
  13260.  
  13261. HRESULT STDMETHODCALLTYPE IAMTuner_RegisterNotificationCallBack_Proxy( 
  13262.     IAMTuner * This,
  13263.     /* [in] */ IAMTunerNotification *pNotify,
  13264.     /* [in] */ long lEvents);
  13265.  
  13266.  
  13267. void __RPC_STUB IAMTuner_RegisterNotificationCallBack_Stub(
  13268.     IRpcStubBuffer *This,
  13269.     IRpcChannelBuffer *_pRpcChannelBuffer,
  13270.     PRPC_MESSAGE _pRpcMessage,
  13271.     DWORD *_pdwStubPhase);
  13272.  
  13273.  
  13274. HRESULT STDMETHODCALLTYPE IAMTuner_UnRegisterNotificationCallBack_Proxy( 
  13275.     IAMTuner * This,
  13276.     /* [in] */ IAMTunerNotification *pNotify);
  13277.  
  13278.  
  13279. void __RPC_STUB IAMTuner_UnRegisterNotificationCallBack_Stub(
  13280.     IRpcStubBuffer *This,
  13281.     IRpcChannelBuffer *_pRpcChannelBuffer,
  13282.     PRPC_MESSAGE _pRpcMessage,
  13283.     DWORD *_pdwStubPhase);
  13284.  
  13285.  
  13286.  
  13287. #endif     /* __IAMTuner_INTERFACE_DEFINED__ */
  13288.  
  13289.  
  13290. #ifndef __IAMTunerNotification_INTERFACE_DEFINED__
  13291. #define __IAMTunerNotification_INTERFACE_DEFINED__
  13292.  
  13293. /* interface IAMTunerNotification */
  13294. /* [unique][uuid][object] */ 
  13295.  
  13296.  
  13297. EXTERN_C const IID IID_IAMTunerNotification;
  13298.  
  13299. #if defined(__cplusplus) && !defined(CINTERFACE)
  13300.     
  13301.     MIDL_INTERFACE("211A8760-03AC-11d1-8D13-00AA00BD8339")
  13302.     IAMTunerNotification : public IUnknown
  13303.     {
  13304.     public:
  13305.         virtual HRESULT STDMETHODCALLTYPE OnEvent( 
  13306.             /* [in] */ AMTunerEventType Event) = 0;
  13307.         
  13308.     };
  13309.     
  13310. #else     /* C style interface */
  13311.  
  13312.     typedef struct IAMTunerNotificationVtbl
  13313.     {
  13314.         BEGIN_INTERFACE
  13315.         
  13316.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  13317.             IAMTunerNotification * This,
  13318.             /* [in] */ REFIID riid,
  13319.             /* [iid_is][out] */ void **ppvObject);
  13320.         
  13321.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  13322.             IAMTunerNotification * This);
  13323.         
  13324.         ULONG ( STDMETHODCALLTYPE *Release )( 
  13325.             IAMTunerNotification * This);
  13326.         
  13327.         HRESULT ( STDMETHODCALLTYPE *OnEvent )( 
  13328.             IAMTunerNotification * This,
  13329.             /* [in] */ AMTunerEventType Event);
  13330.         
  13331.         END_INTERFACE
  13332.     } IAMTunerNotificationVtbl;
  13333.  
  13334.     interface IAMTunerNotification
  13335.     {
  13336.         CONST_VTBL struct IAMTunerNotificationVtbl *lpVtbl;
  13337.     };
  13338.  
  13339.     
  13340.  
  13341. #ifdef COBJMACROS
  13342.  
  13343.  
  13344. #define IAMTunerNotification_QueryInterface(This,riid,ppvObject)    \
  13345.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  13346.  
  13347. #define IAMTunerNotification_AddRef(This)    \
  13348.     (This)->lpVtbl -> AddRef(This)
  13349.  
  13350. #define IAMTunerNotification_Release(This)    \
  13351.     (This)->lpVtbl -> Release(This)
  13352.  
  13353.  
  13354. #define IAMTunerNotification_OnEvent(This,Event)    \
  13355.     (This)->lpVtbl -> OnEvent(This,Event)
  13356.  
  13357. #endif /* COBJMACROS */
  13358.  
  13359.  
  13360. #endif     /* C style interface */
  13361.  
  13362.  
  13363.  
  13364. HRESULT STDMETHODCALLTYPE IAMTunerNotification_OnEvent_Proxy( 
  13365.     IAMTunerNotification * This,
  13366.     /* [in] */ AMTunerEventType Event);
  13367.  
  13368.  
  13369. void __RPC_STUB IAMTunerNotification_OnEvent_Stub(
  13370.     IRpcStubBuffer *This,
  13371.     IRpcChannelBuffer *_pRpcChannelBuffer,
  13372.     PRPC_MESSAGE _pRpcMessage,
  13373.     DWORD *_pdwStubPhase);
  13374.  
  13375.  
  13376.  
  13377. #endif     /* __IAMTunerNotification_INTERFACE_DEFINED__ */
  13378.  
  13379.  
  13380. #ifndef __IAMTVTuner_INTERFACE_DEFINED__
  13381. #define __IAMTVTuner_INTERFACE_DEFINED__
  13382.  
  13383. /* interface IAMTVTuner */
  13384. /* [unique][uuid][object] */ 
  13385.  
  13386.  
  13387. EXTERN_C const IID IID_IAMTVTuner;
  13388.  
  13389. #if defined(__cplusplus) && !defined(CINTERFACE)
  13390.     
  13391.     MIDL_INTERFACE("211A8766-03AC-11d1-8D13-00AA00BD8339")
  13392.     IAMTVTuner : public IAMTuner
  13393.     {
  13394.     public:
  13395.         virtual HRESULT STDMETHODCALLTYPE get_AvailableTVFormats( 
  13396.             /* [out] */ long *lAnalogVideoStandard) = 0;
  13397.         
  13398.         virtual HRESULT STDMETHODCALLTYPE get_TVFormat( 
  13399.             /* [out] */ long *plAnalogVideoStandard) = 0;
  13400.         
  13401.         virtual HRESULT STDMETHODCALLTYPE AutoTune( 
  13402.             /* [in] */ long lChannel,
  13403.             /* [out] */ long *plFoundSignal) = 0;
  13404.         
  13405.         virtual HRESULT STDMETHODCALLTYPE StoreAutoTune( void) = 0;
  13406.         
  13407.         virtual HRESULT STDMETHODCALLTYPE get_NumInputConnections( 
  13408.             /* [out] */ long *plNumInputConnections) = 0;
  13409.         
  13410.         virtual HRESULT STDMETHODCALLTYPE put_InputType( 
  13411.             /* [in] */ long lIndex,
  13412.             /* [in] */ TunerInputType InputType) = 0;
  13413.         
  13414.         virtual HRESULT STDMETHODCALLTYPE get_InputType( 
  13415.             /* [in] */ long lIndex,
  13416.             /* [out] */ TunerInputType *pInputType) = 0;
  13417.         
  13418.         virtual HRESULT STDMETHODCALLTYPE put_ConnectInput( 
  13419.             /* [in] */ long lIndex) = 0;
  13420.         
  13421.         virtual HRESULT STDMETHODCALLTYPE get_ConnectInput( 
  13422.             /* [out] */ long *plIndex) = 0;
  13423.         
  13424.         virtual HRESULT STDMETHODCALLTYPE get_VideoFrequency( 
  13425.             /* [out] */ long *lFreq) = 0;
  13426.         
  13427.         virtual HRESULT STDMETHODCALLTYPE get_AudioFrequency( 
  13428.             /* [out] */ long *lFreq) = 0;
  13429.         
  13430.     };
  13431.     
  13432. #else     /* C style interface */
  13433.  
  13434.     typedef struct IAMTVTunerVtbl
  13435.     {
  13436.         BEGIN_INTERFACE
  13437.         
  13438.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  13439.             IAMTVTuner * This,
  13440.             /* [in] */ REFIID riid,
  13441.             /* [iid_is][out] */ void **ppvObject);
  13442.         
  13443.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  13444.             IAMTVTuner * This);
  13445.         
  13446.         ULONG ( STDMETHODCALLTYPE *Release )( 
  13447.             IAMTVTuner * This);
  13448.         
  13449.         HRESULT ( STDMETHODCALLTYPE *put_Channel )( 
  13450.             IAMTVTuner * This,
  13451.             /* [in] */ long lChannel,
  13452.             /* [in] */ long lVideoSubChannel,
  13453.             /* [in] */ long lAudioSubChannel);
  13454.         
  13455.         HRESULT ( STDMETHODCALLTYPE *get_Channel )( 
  13456.             IAMTVTuner * This,
  13457.             /* [out] */ long *plChannel,
  13458.             /* [out] */ long *plVideoSubChannel,
  13459.             /* [out] */ long *plAudioSubChannel);
  13460.         
  13461.         HRESULT ( STDMETHODCALLTYPE *ChannelMinMax )( 
  13462.             IAMTVTuner * This,
  13463.             /* [out] */ long *lChannelMin,
  13464.             /* [out] */ long *lChannelMax);
  13465.         
  13466.         HRESULT ( STDMETHODCALLTYPE *put_CountryCode )( 
  13467.             IAMTVTuner * This,
  13468.             /* [in] */ long lCountryCode);
  13469.         
  13470.         HRESULT ( STDMETHODCALLTYPE *get_CountryCode )( 
  13471.             IAMTVTuner * This,
  13472.             /* [out] */ long *plCountryCode);
  13473.         
  13474.         HRESULT ( STDMETHODCALLTYPE *put_TuningSpace )( 
  13475.             IAMTVTuner * This,
  13476.             /* [in] */ long lTuningSpace);
  13477.         
  13478.         HRESULT ( STDMETHODCALLTYPE *get_TuningSpace )( 
  13479.             IAMTVTuner * This,
  13480.             /* [out] */ long *plTuningSpace);
  13481.         
  13482.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Logon )( 
  13483.             IAMTVTuner * This,
  13484.             /* [in] */ HANDLE hCurrentUser);
  13485.         
  13486.         HRESULT ( STDMETHODCALLTYPE *Logout )( 
  13487.             IAMTVTuner * This);
  13488.         
  13489.         HRESULT ( STDMETHODCALLTYPE *SignalPresent )( 
  13490.             IAMTVTuner * This,
  13491.             /* [out] */ long *plSignalStrength);
  13492.         
  13493.         HRESULT ( STDMETHODCALLTYPE *put_Mode )( 
  13494.             IAMTVTuner * This,
  13495.             /* [in] */ AMTunerModeType lMode);
  13496.         
  13497.         HRESULT ( STDMETHODCALLTYPE *get_Mode )( 
  13498.             IAMTVTuner * This,
  13499.             /* [out] */ AMTunerModeType *plMode);
  13500.         
  13501.         HRESULT ( STDMETHODCALLTYPE *GetAvailableModes )( 
  13502.             IAMTVTuner * This,
  13503.             /* [out] */ long *plModes);
  13504.         
  13505.         HRESULT ( STDMETHODCALLTYPE *RegisterNotificationCallBack )( 
  13506.             IAMTVTuner * This,
  13507.             /* [in] */ IAMTunerNotification *pNotify,
  13508.             /* [in] */ long lEvents);
  13509.         
  13510.         HRESULT ( STDMETHODCALLTYPE *UnRegisterNotificationCallBack )( 
  13511.             IAMTVTuner * This,
  13512.             /* [in] */ IAMTunerNotification *pNotify);
  13513.         
  13514.         HRESULT ( STDMETHODCALLTYPE *get_AvailableTVFormats )( 
  13515.             IAMTVTuner * This,
  13516.             /* [out] */ long *lAnalogVideoStandard);
  13517.         
  13518.         HRESULT ( STDMETHODCALLTYPE *get_TVFormat )( 
  13519.             IAMTVTuner * This,
  13520.             /* [out] */ long *plAnalogVideoStandard);
  13521.         
  13522.         HRESULT ( STDMETHODCALLTYPE *AutoTune )( 
  13523.             IAMTVTuner * This,
  13524.             /* [in] */ long lChannel,
  13525.             /* [out] */ long *plFoundSignal);
  13526.         
  13527.         HRESULT ( STDMETHODCALLTYPE *StoreAutoTune )( 
  13528.             IAMTVTuner * This);
  13529.         
  13530.         HRESULT ( STDMETHODCALLTYPE *get_NumInputConnections )( 
  13531.             IAMTVTuner * This,
  13532.             /* [out] */ long *plNumInputConnections);
  13533.         
  13534.         HRESULT ( STDMETHODCALLTYPE *put_InputType )( 
  13535.             IAMTVTuner * This,
  13536.             /* [in] */ long lIndex,
  13537.             /* [in] */ TunerInputType InputType);
  13538.         
  13539.         HRESULT ( STDMETHODCALLTYPE *get_InputType )( 
  13540.             IAMTVTuner * This,
  13541.             /* [in] */ long lIndex,
  13542.             /* [out] */ TunerInputType *pInputType);
  13543.         
  13544.         HRESULT ( STDMETHODCALLTYPE *put_ConnectInput )( 
  13545.             IAMTVTuner * This,
  13546.             /* [in] */ long lIndex);
  13547.         
  13548.         HRESULT ( STDMETHODCALLTYPE *get_ConnectInput )( 
  13549.             IAMTVTuner * This,
  13550.             /* [out] */ long *plIndex);
  13551.         
  13552.         HRESULT ( STDMETHODCALLTYPE *get_VideoFrequency )( 
  13553.             IAMTVTuner * This,
  13554.             /* [out] */ long *lFreq);
  13555.         
  13556.         HRESULT ( STDMETHODCALLTYPE *get_AudioFrequency )( 
  13557.             IAMTVTuner * This,
  13558.             /* [out] */ long *lFreq);
  13559.         
  13560.         END_INTERFACE
  13561.     } IAMTVTunerVtbl;
  13562.  
  13563.     interface IAMTVTuner
  13564.     {
  13565.         CONST_VTBL struct IAMTVTunerVtbl *lpVtbl;
  13566.     };
  13567.  
  13568.     
  13569.  
  13570. #ifdef COBJMACROS
  13571.  
  13572.  
  13573. #define IAMTVTuner_QueryInterface(This,riid,ppvObject)    \
  13574.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  13575.  
  13576. #define IAMTVTuner_AddRef(This)    \
  13577.     (This)->lpVtbl -> AddRef(This)
  13578.  
  13579. #define IAMTVTuner_Release(This)    \
  13580.     (This)->lpVtbl -> Release(This)
  13581.  
  13582.  
  13583. #define IAMTVTuner_put_Channel(This,lChannel,lVideoSubChannel,lAudioSubChannel)    \
  13584.     (This)->lpVtbl -> put_Channel(This,lChannel,lVideoSubChannel,lAudioSubChannel)
  13585.  
  13586. #define IAMTVTuner_get_Channel(This,plChannel,plVideoSubChannel,plAudioSubChannel)    \
  13587.     (This)->lpVtbl -> get_Channel(This,plChannel,plVideoSubChannel,plAudioSubChannel)
  13588.  
  13589. #define IAMTVTuner_ChannelMinMax(This,lChannelMin,lChannelMax)    \
  13590.     (This)->lpVtbl -> ChannelMinMax(This,lChannelMin,lChannelMax)
  13591.  
  13592. #define IAMTVTuner_put_CountryCode(This,lCountryCode)    \
  13593.     (This)->lpVtbl -> put_CountryCode(This,lCountryCode)
  13594.  
  13595. #define IAMTVTuner_get_CountryCode(This,plCountryCode)    \
  13596.     (This)->lpVtbl -> get_CountryCode(This,plCountryCode)
  13597.  
  13598. #define IAMTVTuner_put_TuningSpace(This,lTuningSpace)    \
  13599.     (This)->lpVtbl -> put_TuningSpace(This,lTuningSpace)
  13600.  
  13601. #define IAMTVTuner_get_TuningSpace(This,plTuningSpace)    \
  13602.     (This)->lpVtbl -> get_TuningSpace(This,plTuningSpace)
  13603.  
  13604. #define IAMTVTuner_Logon(This,hCurrentUser)    \
  13605.     (This)->lpVtbl -> Logon(This,hCurrentUser)
  13606.  
  13607. #define IAMTVTuner_Logout(This)    \
  13608.     (This)->lpVtbl -> Logout(This)
  13609.  
  13610. #define IAMTVTuner_SignalPresent(This,plSignalStrength)    \
  13611.     (This)->lpVtbl -> SignalPresent(This,plSignalStrength)
  13612.  
  13613. #define IAMTVTuner_put_Mode(This,lMode)    \
  13614.     (This)->lpVtbl -> put_Mode(This,lMode)
  13615.  
  13616. #define IAMTVTuner_get_Mode(This,plMode)    \
  13617.     (This)->lpVtbl -> get_Mode(This,plMode)
  13618.  
  13619. #define IAMTVTuner_GetAvailableModes(This,plModes)    \
  13620.     (This)->lpVtbl -> GetAvailableModes(This,plModes)
  13621.  
  13622. #define IAMTVTuner_RegisterNotificationCallBack(This,pNotify,lEvents)    \
  13623.     (This)->lpVtbl -> RegisterNotificationCallBack(This,pNotify,lEvents)
  13624.  
  13625. #define IAMTVTuner_UnRegisterNotificationCallBack(This,pNotify)    \
  13626.     (This)->lpVtbl -> UnRegisterNotificationCallBack(This,pNotify)
  13627.  
  13628.  
  13629. #define IAMTVTuner_get_AvailableTVFormats(This,lAnalogVideoStandard)    \
  13630.     (This)->lpVtbl -> get_AvailableTVFormats(This,lAnalogVideoStandard)
  13631.  
  13632. #define IAMTVTuner_get_TVFormat(This,plAnalogVideoStandard)    \
  13633.     (This)->lpVtbl -> get_TVFormat(This,plAnalogVideoStandard)
  13634.  
  13635. #define IAMTVTuner_AutoTune(This,lChannel,plFoundSignal)    \
  13636.     (This)->lpVtbl -> AutoTune(This,lChannel,plFoundSignal)
  13637.  
  13638. #define IAMTVTuner_StoreAutoTune(This)    \
  13639.     (This)->lpVtbl -> StoreAutoTune(This)
  13640.  
  13641. #define IAMTVTuner_get_NumInputConnections(This,plNumInputConnections)    \
  13642.     (This)->lpVtbl -> get_NumInputConnections(This,plNumInputConnections)
  13643.  
  13644. #define IAMTVTuner_put_InputType(This,lIndex,InputType)    \
  13645.     (This)->lpVtbl -> put_InputType(This,lIndex,InputType)
  13646.  
  13647. #define IAMTVTuner_get_InputType(This,lIndex,pInputType)    \
  13648.     (This)->lpVtbl -> get_InputType(This,lIndex,pInputType)
  13649.  
  13650. #define IAMTVTuner_put_ConnectInput(This,lIndex)    \
  13651.     (This)->lpVtbl -> put_ConnectInput(This,lIndex)
  13652.  
  13653. #define IAMTVTuner_get_ConnectInput(This,plIndex)    \
  13654.     (This)->lpVtbl -> get_ConnectInput(This,plIndex)
  13655.  
  13656. #define IAMTVTuner_get_VideoFrequency(This,lFreq)    \
  13657.     (This)->lpVtbl -> get_VideoFrequency(This,lFreq)
  13658.  
  13659. #define IAMTVTuner_get_AudioFrequency(This,lFreq)    \
  13660.     (This)->lpVtbl -> get_AudioFrequency(This,lFreq)
  13661.  
  13662. #endif /* COBJMACROS */
  13663.  
  13664.  
  13665. #endif     /* C style interface */
  13666.  
  13667.  
  13668.  
  13669. HRESULT STDMETHODCALLTYPE IAMTVTuner_get_AvailableTVFormats_Proxy( 
  13670.     IAMTVTuner * This,
  13671.     /* [out] */ long *lAnalogVideoStandard);
  13672.  
  13673.  
  13674. void __RPC_STUB IAMTVTuner_get_AvailableTVFormats_Stub(
  13675.     IRpcStubBuffer *This,
  13676.     IRpcChannelBuffer *_pRpcChannelBuffer,
  13677.     PRPC_MESSAGE _pRpcMessage,
  13678.     DWORD *_pdwStubPhase);
  13679.  
  13680.  
  13681. HRESULT STDMETHODCALLTYPE IAMTVTuner_get_TVFormat_Proxy( 
  13682.     IAMTVTuner * This,
  13683.     /* [out] */ long *plAnalogVideoStandard);
  13684.  
  13685.  
  13686. void __RPC_STUB IAMTVTuner_get_TVFormat_Stub(
  13687.     IRpcStubBuffer *This,
  13688.     IRpcChannelBuffer *_pRpcChannelBuffer,
  13689.     PRPC_MESSAGE _pRpcMessage,
  13690.     DWORD *_pdwStubPhase);
  13691.  
  13692.  
  13693. HRESULT STDMETHODCALLTYPE IAMTVTuner_AutoTune_Proxy( 
  13694.     IAMTVTuner * This,
  13695.     /* [in] */ long lChannel,
  13696.     /* [out] */ long *plFoundSignal);
  13697.  
  13698.  
  13699. void __RPC_STUB IAMTVTuner_AutoTune_Stub(
  13700.     IRpcStubBuffer *This,
  13701.     IRpcChannelBuffer *_pRpcChannelBuffer,
  13702.     PRPC_MESSAGE _pRpcMessage,
  13703.     DWORD *_pdwStubPhase);
  13704.  
  13705.  
  13706. HRESULT STDMETHODCALLTYPE IAMTVTuner_StoreAutoTune_Proxy( 
  13707.     IAMTVTuner * This);
  13708.  
  13709.  
  13710. void __RPC_STUB IAMTVTuner_StoreAutoTune_Stub(
  13711.     IRpcStubBuffer *This,
  13712.     IRpcChannelBuffer *_pRpcChannelBuffer,
  13713.     PRPC_MESSAGE _pRpcMessage,
  13714.     DWORD *_pdwStubPhase);
  13715.  
  13716.  
  13717. HRESULT STDMETHODCALLTYPE IAMTVTuner_get_NumInputConnections_Proxy( 
  13718.     IAMTVTuner * This,
  13719.     /* [out] */ long *plNumInputConnections);
  13720.  
  13721.  
  13722. void __RPC_STUB IAMTVTuner_get_NumInputConnections_Stub(
  13723.     IRpcStubBuffer *This,
  13724.     IRpcChannelBuffer *_pRpcChannelBuffer,
  13725.     PRPC_MESSAGE _pRpcMessage,
  13726.     DWORD *_pdwStubPhase);
  13727.  
  13728.  
  13729. HRESULT STDMETHODCALLTYPE IAMTVTuner_put_InputType_Proxy( 
  13730.     IAMTVTuner * This,
  13731.     /* [in] */ long lIndex,
  13732.     /* [in] */ TunerInputType InputType);
  13733.  
  13734.  
  13735. void __RPC_STUB IAMTVTuner_put_InputType_Stub(
  13736.     IRpcStubBuffer *This,
  13737.     IRpcChannelBuffer *_pRpcChannelBuffer,
  13738.     PRPC_MESSAGE _pRpcMessage,
  13739.     DWORD *_pdwStubPhase);
  13740.  
  13741.  
  13742. HRESULT STDMETHODCALLTYPE IAMTVTuner_get_InputType_Proxy( 
  13743.     IAMTVTuner * This,
  13744.     /* [in] */ long lIndex,
  13745.     /* [out] */ TunerInputType *pInputType);
  13746.  
  13747.  
  13748. void __RPC_STUB IAMTVTuner_get_InputType_Stub(
  13749.     IRpcStubBuffer *This,
  13750.     IRpcChannelBuffer *_pRpcChannelBuffer,
  13751.     PRPC_MESSAGE _pRpcMessage,
  13752.     DWORD *_pdwStubPhase);
  13753.  
  13754.  
  13755. HRESULT STDMETHODCALLTYPE IAMTVTuner_put_ConnectInput_Proxy( 
  13756.     IAMTVTuner * This,
  13757.     /* [in] */ long lIndex);
  13758.  
  13759.  
  13760. void __RPC_STUB IAMTVTuner_put_ConnectInput_Stub(
  13761.     IRpcStubBuffer *This,
  13762.     IRpcChannelBuffer *_pRpcChannelBuffer,
  13763.     PRPC_MESSAGE _pRpcMessage,
  13764.     DWORD *_pdwStubPhase);
  13765.  
  13766.  
  13767. HRESULT STDMETHODCALLTYPE IAMTVTuner_get_ConnectInput_Proxy( 
  13768.     IAMTVTuner * This,
  13769.     /* [out] */ long *plIndex);
  13770.  
  13771.  
  13772. void __RPC_STUB IAMTVTuner_get_ConnectInput_Stub(
  13773.     IRpcStubBuffer *This,
  13774.     IRpcChannelBuffer *_pRpcChannelBuffer,
  13775.     PRPC_MESSAGE _pRpcMessage,
  13776.     DWORD *_pdwStubPhase);
  13777.  
  13778.  
  13779. HRESULT STDMETHODCALLTYPE IAMTVTuner_get_VideoFrequency_Proxy( 
  13780.     IAMTVTuner * This,
  13781.     /* [out] */ long *lFreq);
  13782.  
  13783.  
  13784. void __RPC_STUB IAMTVTuner_get_VideoFrequency_Stub(
  13785.     IRpcStubBuffer *This,
  13786.     IRpcChannelBuffer *_pRpcChannelBuffer,
  13787.     PRPC_MESSAGE _pRpcMessage,
  13788.     DWORD *_pdwStubPhase);
  13789.  
  13790.  
  13791. HRESULT STDMETHODCALLTYPE IAMTVTuner_get_AudioFrequency_Proxy( 
  13792.     IAMTVTuner * This,
  13793.     /* [out] */ long *lFreq);
  13794.  
  13795.  
  13796. void __RPC_STUB IAMTVTuner_get_AudioFrequency_Stub(
  13797.     IRpcStubBuffer *This,
  13798.     IRpcChannelBuffer *_pRpcChannelBuffer,
  13799.     PRPC_MESSAGE _pRpcMessage,
  13800.     DWORD *_pdwStubPhase);
  13801.  
  13802.  
  13803.  
  13804. #endif     /* __IAMTVTuner_INTERFACE_DEFINED__ */
  13805.  
  13806.  
  13807. #ifndef __IBPCSatelliteTuner_INTERFACE_DEFINED__
  13808. #define __IBPCSatelliteTuner_INTERFACE_DEFINED__
  13809.  
  13810. /* interface IBPCSatelliteTuner */
  13811. /* [unique][uuid][local][object] */ 
  13812.  
  13813.  
  13814. EXTERN_C const IID IID_IBPCSatelliteTuner;
  13815.  
  13816. #if defined(__cplusplus) && !defined(CINTERFACE)
  13817.     
  13818.     MIDL_INTERFACE("211A8765-03AC-11d1-8D13-00AA00BD8339")
  13819.     IBPCSatelliteTuner : public IAMTuner
  13820.     {
  13821.     public:
  13822.         virtual HRESULT STDMETHODCALLTYPE get_DefaultSubChannelTypes( 
  13823.             /* [out] */ long *plDefaultVideoType,
  13824.             /* [out] */ long *plDefaultAudioType) = 0;
  13825.         
  13826.         virtual HRESULT STDMETHODCALLTYPE put_DefaultSubChannelTypes( 
  13827.             /* [in] */ long lDefaultVideoType,
  13828.             /* [in] */ long lDefaultAudioType) = 0;
  13829.         
  13830.         virtual HRESULT STDMETHODCALLTYPE IsTapingPermitted( void) = 0;
  13831.         
  13832.     };
  13833.     
  13834. #else     /* C style interface */
  13835.  
  13836.     typedef struct IBPCSatelliteTunerVtbl
  13837.     {
  13838.         BEGIN_INTERFACE
  13839.         
  13840.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  13841.             IBPCSatelliteTuner * This,
  13842.             /* [in] */ REFIID riid,
  13843.             /* [iid_is][out] */ void **ppvObject);
  13844.         
  13845.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  13846.             IBPCSatelliteTuner * This);
  13847.         
  13848.         ULONG ( STDMETHODCALLTYPE *Release )( 
  13849.             IBPCSatelliteTuner * This);
  13850.         
  13851.         HRESULT ( STDMETHODCALLTYPE *put_Channel )( 
  13852.             IBPCSatelliteTuner * This,
  13853.             /* [in] */ long lChannel,
  13854.             /* [in] */ long lVideoSubChannel,
  13855.             /* [in] */ long lAudioSubChannel);
  13856.         
  13857.         HRESULT ( STDMETHODCALLTYPE *get_Channel )( 
  13858.             IBPCSatelliteTuner * This,
  13859.             /* [out] */ long *plChannel,
  13860.             /* [out] */ long *plVideoSubChannel,
  13861.             /* [out] */ long *plAudioSubChannel);
  13862.         
  13863.         HRESULT ( STDMETHODCALLTYPE *ChannelMinMax )( 
  13864.             IBPCSatelliteTuner * This,
  13865.             /* [out] */ long *lChannelMin,
  13866.             /* [out] */ long *lChannelMax);
  13867.         
  13868.         HRESULT ( STDMETHODCALLTYPE *put_CountryCode )( 
  13869.             IBPCSatelliteTuner * This,
  13870.             /* [in] */ long lCountryCode);
  13871.         
  13872.         HRESULT ( STDMETHODCALLTYPE *get_CountryCode )( 
  13873.             IBPCSatelliteTuner * This,
  13874.             /* [out] */ long *plCountryCode);
  13875.         
  13876.         HRESULT ( STDMETHODCALLTYPE *put_TuningSpace )( 
  13877.             IBPCSatelliteTuner * This,
  13878.             /* [in] */ long lTuningSpace);
  13879.         
  13880.         HRESULT ( STDMETHODCALLTYPE *get_TuningSpace )( 
  13881.             IBPCSatelliteTuner * This,
  13882.             /* [out] */ long *plTuningSpace);
  13883.         
  13884.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Logon )( 
  13885.             IBPCSatelliteTuner * This,
  13886.             /* [in] */ HANDLE hCurrentUser);
  13887.         
  13888.         HRESULT ( STDMETHODCALLTYPE *Logout )( 
  13889.             IBPCSatelliteTuner * This);
  13890.         
  13891.         HRESULT ( STDMETHODCALLTYPE *SignalPresent )( 
  13892.             IBPCSatelliteTuner * This,
  13893.             /* [out] */ long *plSignalStrength);
  13894.         
  13895.         HRESULT ( STDMETHODCALLTYPE *put_Mode )( 
  13896.             IBPCSatelliteTuner * This,
  13897.             /* [in] */ AMTunerModeType lMode);
  13898.         
  13899.         HRESULT ( STDMETHODCALLTYPE *get_Mode )( 
  13900.             IBPCSatelliteTuner * This,
  13901.             /* [out] */ AMTunerModeType *plMode);
  13902.         
  13903.         HRESULT ( STDMETHODCALLTYPE *GetAvailableModes )( 
  13904.             IBPCSatelliteTuner * This,
  13905.             /* [out] */ long *plModes);
  13906.         
  13907.         HRESULT ( STDMETHODCALLTYPE *RegisterNotificationCallBack )( 
  13908.             IBPCSatelliteTuner * This,
  13909.             /* [in] */ IAMTunerNotification *pNotify,
  13910.             /* [in] */ long lEvents);
  13911.         
  13912.         HRESULT ( STDMETHODCALLTYPE *UnRegisterNotificationCallBack )( 
  13913.             IBPCSatelliteTuner * This,
  13914.             /* [in] */ IAMTunerNotification *pNotify);
  13915.         
  13916.         HRESULT ( STDMETHODCALLTYPE *get_DefaultSubChannelTypes )( 
  13917.             IBPCSatelliteTuner * This,
  13918.             /* [out] */ long *plDefaultVideoType,
  13919.             /* [out] */ long *plDefaultAudioType);
  13920.         
  13921.         HRESULT ( STDMETHODCALLTYPE *put_DefaultSubChannelTypes )( 
  13922.             IBPCSatelliteTuner * This,
  13923.             /* [in] */ long lDefaultVideoType,
  13924.             /* [in] */ long lDefaultAudioType);
  13925.         
  13926.         HRESULT ( STDMETHODCALLTYPE *IsTapingPermitted )( 
  13927.             IBPCSatelliteTuner * This);
  13928.         
  13929.         END_INTERFACE
  13930.     } IBPCSatelliteTunerVtbl;
  13931.  
  13932.     interface IBPCSatelliteTuner
  13933.     {
  13934.         CONST_VTBL struct IBPCSatelliteTunerVtbl *lpVtbl;
  13935.     };
  13936.  
  13937.     
  13938.  
  13939. #ifdef COBJMACROS
  13940.  
  13941.  
  13942. #define IBPCSatelliteTuner_QueryInterface(This,riid,ppvObject)    \
  13943.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  13944.  
  13945. #define IBPCSatelliteTuner_AddRef(This)    \
  13946.     (This)->lpVtbl -> AddRef(This)
  13947.  
  13948. #define IBPCSatelliteTuner_Release(This)    \
  13949.     (This)->lpVtbl -> Release(This)
  13950.  
  13951.  
  13952. #define IBPCSatelliteTuner_put_Channel(This,lChannel,lVideoSubChannel,lAudioSubChannel)    \
  13953.     (This)->lpVtbl -> put_Channel(This,lChannel,lVideoSubChannel,lAudioSubChannel)
  13954.  
  13955. #define IBPCSatelliteTuner_get_Channel(This,plChannel,plVideoSubChannel,plAudioSubChannel)    \
  13956.     (This)->lpVtbl -> get_Channel(This,plChannel,plVideoSubChannel,plAudioSubChannel)
  13957.  
  13958. #define IBPCSatelliteTuner_ChannelMinMax(This,lChannelMin,lChannelMax)    \
  13959.     (This)->lpVtbl -> ChannelMinMax(This,lChannelMin,lChannelMax)
  13960.  
  13961. #define IBPCSatelliteTuner_put_CountryCode(This,lCountryCode)    \
  13962.     (This)->lpVtbl -> put_CountryCode(This,lCountryCode)
  13963.  
  13964. #define IBPCSatelliteTuner_get_CountryCode(This,plCountryCode)    \
  13965.     (This)->lpVtbl -> get_CountryCode(This,plCountryCode)
  13966.  
  13967. #define IBPCSatelliteTuner_put_TuningSpace(This,lTuningSpace)    \
  13968.     (This)->lpVtbl -> put_TuningSpace(This,lTuningSpace)
  13969.  
  13970. #define IBPCSatelliteTuner_get_TuningSpace(This,plTuningSpace)    \
  13971.     (This)->lpVtbl -> get_TuningSpace(This,plTuningSpace)
  13972.  
  13973. #define IBPCSatelliteTuner_Logon(This,hCurrentUser)    \
  13974.     (This)->lpVtbl -> Logon(This,hCurrentUser)
  13975.  
  13976. #define IBPCSatelliteTuner_Logout(This)    \
  13977.     (This)->lpVtbl -> Logout(This)
  13978.  
  13979. #define IBPCSatelliteTuner_SignalPresent(This,plSignalStrength)    \
  13980.     (This)->lpVtbl -> SignalPresent(This,plSignalStrength)
  13981.  
  13982. #define IBPCSatelliteTuner_put_Mode(This,lMode)    \
  13983.     (This)->lpVtbl -> put_Mode(This,lMode)
  13984.  
  13985. #define IBPCSatelliteTuner_get_Mode(This,plMode)    \
  13986.     (This)->lpVtbl -> get_Mode(This,plMode)
  13987.  
  13988. #define IBPCSatelliteTuner_GetAvailableModes(This,plModes)    \
  13989.     (This)->lpVtbl -> GetAvailableModes(This,plModes)
  13990.  
  13991. #define IBPCSatelliteTuner_RegisterNotificationCallBack(This,pNotify,lEvents)    \
  13992.     (This)->lpVtbl -> RegisterNotificationCallBack(This,pNotify,lEvents)
  13993.  
  13994. #define IBPCSatelliteTuner_UnRegisterNotificationCallBack(This,pNotify)    \
  13995.     (This)->lpVtbl -> UnRegisterNotificationCallBack(This,pNotify)
  13996.  
  13997.  
  13998. #define IBPCSatelliteTuner_get_DefaultSubChannelTypes(This,plDefaultVideoType,plDefaultAudioType)    \
  13999.     (This)->lpVtbl -> get_DefaultSubChannelTypes(This,plDefaultVideoType,plDefaultAudioType)
  14000.  
  14001. #define IBPCSatelliteTuner_put_DefaultSubChannelTypes(This,lDefaultVideoType,lDefaultAudioType)    \
  14002.     (This)->lpVtbl -> put_DefaultSubChannelTypes(This,lDefaultVideoType,lDefaultAudioType)
  14003.  
  14004. #define IBPCSatelliteTuner_IsTapingPermitted(This)    \
  14005.     (This)->lpVtbl -> IsTapingPermitted(This)
  14006.  
  14007. #endif /* COBJMACROS */
  14008.  
  14009.  
  14010. #endif     /* C style interface */
  14011.  
  14012.  
  14013.  
  14014. HRESULT STDMETHODCALLTYPE IBPCSatelliteTuner_get_DefaultSubChannelTypes_Proxy( 
  14015.     IBPCSatelliteTuner * This,
  14016.     /* [out] */ long *plDefaultVideoType,
  14017.     /* [out] */ long *plDefaultAudioType);
  14018.  
  14019.  
  14020. void __RPC_STUB IBPCSatelliteTuner_get_DefaultSubChannelTypes_Stub(
  14021.     IRpcStubBuffer *This,
  14022.     IRpcChannelBuffer *_pRpcChannelBuffer,
  14023.     PRPC_MESSAGE _pRpcMessage,
  14024.     DWORD *_pdwStubPhase);
  14025.  
  14026.  
  14027. HRESULT STDMETHODCALLTYPE IBPCSatelliteTuner_put_DefaultSubChannelTypes_Proxy( 
  14028.     IBPCSatelliteTuner * This,
  14029.     /* [in] */ long lDefaultVideoType,
  14030.     /* [in] */ long lDefaultAudioType);
  14031.  
  14032.  
  14033. void __RPC_STUB IBPCSatelliteTuner_put_DefaultSubChannelTypes_Stub(
  14034.     IRpcStubBuffer *This,
  14035.     IRpcChannelBuffer *_pRpcChannelBuffer,
  14036.     PRPC_MESSAGE _pRpcMessage,
  14037.     DWORD *_pdwStubPhase);
  14038.  
  14039.  
  14040. HRESULT STDMETHODCALLTYPE IBPCSatelliteTuner_IsTapingPermitted_Proxy( 
  14041.     IBPCSatelliteTuner * This);
  14042.  
  14043.  
  14044. void __RPC_STUB IBPCSatelliteTuner_IsTapingPermitted_Stub(
  14045.     IRpcStubBuffer *This,
  14046.     IRpcChannelBuffer *_pRpcChannelBuffer,
  14047.     PRPC_MESSAGE _pRpcMessage,
  14048.     DWORD *_pdwStubPhase);
  14049.  
  14050.  
  14051.  
  14052. #endif     /* __IBPCSatelliteTuner_INTERFACE_DEFINED__ */
  14053.  
  14054.  
  14055. /* interface __MIDL_itf_strmif_0173 */
  14056. /* [local] */ 
  14057.  
  14058. typedef 
  14059. enum tagTVAudioMode
  14060.     {    AMTVAUDIO_MODE_MONO    = 0x1,
  14061.     AMTVAUDIO_MODE_STEREO    = 0x2,
  14062.     AMTVAUDIO_MODE_LANG_A    = 0x10,
  14063.     AMTVAUDIO_MODE_LANG_B    = 0x20,
  14064.     AMTVAUDIO_MODE_LANG_C    = 0x40
  14065.     }     TVAudioMode;
  14066.  
  14067. typedef 
  14068. enum tagAMTVAudioEventType
  14069.     {    AMTVAUDIO_EVENT_CHANGED    = 0x1
  14070.     }     AMTVAudioEventType;
  14071.  
  14072.  
  14073.  
  14074.  
  14075. extern RPC_IF_HANDLE __MIDL_itf_strmif_0173_v0_0_c_ifspec;
  14076. extern RPC_IF_HANDLE __MIDL_itf_strmif_0173_v0_0_s_ifspec;
  14077.  
  14078. #ifndef __IAMTVAudio_INTERFACE_DEFINED__
  14079. #define __IAMTVAudio_INTERFACE_DEFINED__
  14080.  
  14081. /* interface IAMTVAudio */
  14082. /* [unique][uuid][local][object] */ 
  14083.  
  14084.  
  14085. EXTERN_C const IID IID_IAMTVAudio;
  14086.  
  14087. #if defined(__cplusplus) && !defined(CINTERFACE)
  14088.     
  14089.     MIDL_INTERFACE("83EC1C30-23D1-11d1-99E6-00A0C9560266")
  14090.     IAMTVAudio : public IUnknown
  14091.     {
  14092.     public:
  14093.         virtual HRESULT STDMETHODCALLTYPE GetHardwareSupportedTVAudioModes( 
  14094.             /* [out] */ long *plModes) = 0;
  14095.         
  14096.         virtual HRESULT STDMETHODCALLTYPE GetAvailableTVAudioModes( 
  14097.             /* [out] */ long *plModes) = 0;
  14098.         
  14099.         virtual HRESULT STDMETHODCALLTYPE get_TVAudioMode( 
  14100.             /* [out] */ long *plMode) = 0;
  14101.         
  14102.         virtual HRESULT STDMETHODCALLTYPE put_TVAudioMode( 
  14103.             /* [in] */ long lMode) = 0;
  14104.         
  14105.         virtual HRESULT STDMETHODCALLTYPE RegisterNotificationCallBack( 
  14106.             /* [in] */ IAMTunerNotification *pNotify,
  14107.             /* [in] */ long lEvents) = 0;
  14108.         
  14109.         virtual HRESULT STDMETHODCALLTYPE UnRegisterNotificationCallBack( 
  14110.             IAMTunerNotification *pNotify) = 0;
  14111.         
  14112.     };
  14113.     
  14114. #else     /* C style interface */
  14115.  
  14116.     typedef struct IAMTVAudioVtbl
  14117.     {
  14118.         BEGIN_INTERFACE
  14119.         
  14120.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  14121.             IAMTVAudio * This,
  14122.             /* [in] */ REFIID riid,
  14123.             /* [iid_is][out] */ void **ppvObject);
  14124.         
  14125.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  14126.             IAMTVAudio * This);
  14127.         
  14128.         ULONG ( STDMETHODCALLTYPE *Release )( 
  14129.             IAMTVAudio * This);
  14130.         
  14131.         HRESULT ( STDMETHODCALLTYPE *GetHardwareSupportedTVAudioModes )( 
  14132.             IAMTVAudio * This,
  14133.             /* [out] */ long *plModes);
  14134.         
  14135.         HRESULT ( STDMETHODCALLTYPE *GetAvailableTVAudioModes )( 
  14136.             IAMTVAudio * This,
  14137.             /* [out] */ long *plModes);
  14138.         
  14139.         HRESULT ( STDMETHODCALLTYPE *get_TVAudioMode )( 
  14140.             IAMTVAudio * This,
  14141.             /* [out] */ long *plMode);
  14142.         
  14143.         HRESULT ( STDMETHODCALLTYPE *put_TVAudioMode )( 
  14144.             IAMTVAudio * This,
  14145.             /* [in] */ long lMode);
  14146.         
  14147.         HRESULT ( STDMETHODCALLTYPE *RegisterNotificationCallBack )( 
  14148.             IAMTVAudio * This,
  14149.             /* [in] */ IAMTunerNotification *pNotify,
  14150.             /* [in] */ long lEvents);
  14151.         
  14152.         HRESULT ( STDMETHODCALLTYPE *UnRegisterNotificationCallBack )( 
  14153.             IAMTVAudio * This,
  14154.             IAMTunerNotification *pNotify);
  14155.         
  14156.         END_INTERFACE
  14157.     } IAMTVAudioVtbl;
  14158.  
  14159.     interface IAMTVAudio
  14160.     {
  14161.         CONST_VTBL struct IAMTVAudioVtbl *lpVtbl;
  14162.     };
  14163.  
  14164.     
  14165.  
  14166. #ifdef COBJMACROS
  14167.  
  14168.  
  14169. #define IAMTVAudio_QueryInterface(This,riid,ppvObject)    \
  14170.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  14171.  
  14172. #define IAMTVAudio_AddRef(This)    \
  14173.     (This)->lpVtbl -> AddRef(This)
  14174.  
  14175. #define IAMTVAudio_Release(This)    \
  14176.     (This)->lpVtbl -> Release(This)
  14177.  
  14178.  
  14179. #define IAMTVAudio_GetHardwareSupportedTVAudioModes(This,plModes)    \
  14180.     (This)->lpVtbl -> GetHardwareSupportedTVAudioModes(This,plModes)
  14181.  
  14182. #define IAMTVAudio_GetAvailableTVAudioModes(This,plModes)    \
  14183.     (This)->lpVtbl -> GetAvailableTVAudioModes(This,plModes)
  14184.  
  14185. #define IAMTVAudio_get_TVAudioMode(This,plMode)    \
  14186.     (This)->lpVtbl -> get_TVAudioMode(This,plMode)
  14187.  
  14188. #define IAMTVAudio_put_TVAudioMode(This,lMode)    \
  14189.     (This)->lpVtbl -> put_TVAudioMode(This,lMode)
  14190.  
  14191. #define IAMTVAudio_RegisterNotificationCallBack(This,pNotify,lEvents)    \
  14192.     (This)->lpVtbl -> RegisterNotificationCallBack(This,pNotify,lEvents)
  14193.  
  14194. #define IAMTVAudio_UnRegisterNotificationCallBack(This,pNotify)    \
  14195.     (This)->lpVtbl -> UnRegisterNotificationCallBack(This,pNotify)
  14196.  
  14197. #endif /* COBJMACROS */
  14198.  
  14199.  
  14200. #endif     /* C style interface */
  14201.  
  14202.  
  14203.  
  14204. HRESULT STDMETHODCALLTYPE IAMTVAudio_GetHardwareSupportedTVAudioModes_Proxy( 
  14205.     IAMTVAudio * This,
  14206.     /* [out] */ long *plModes);
  14207.  
  14208.  
  14209. void __RPC_STUB IAMTVAudio_GetHardwareSupportedTVAudioModes_Stub(
  14210.     IRpcStubBuffer *This,
  14211.     IRpcChannelBuffer *_pRpcChannelBuffer,
  14212.     PRPC_MESSAGE _pRpcMessage,
  14213.     DWORD *_pdwStubPhase);
  14214.  
  14215.  
  14216. HRESULT STDMETHODCALLTYPE IAMTVAudio_GetAvailableTVAudioModes_Proxy( 
  14217.     IAMTVAudio * This,
  14218.     /* [out] */ long *plModes);
  14219.  
  14220.  
  14221. void __RPC_STUB IAMTVAudio_GetAvailableTVAudioModes_Stub(
  14222.     IRpcStubBuffer *This,
  14223.     IRpcChannelBuffer *_pRpcChannelBuffer,
  14224.     PRPC_MESSAGE _pRpcMessage,
  14225.     DWORD *_pdwStubPhase);
  14226.  
  14227.  
  14228. HRESULT STDMETHODCALLTYPE IAMTVAudio_get_TVAudioMode_Proxy( 
  14229.     IAMTVAudio * This,
  14230.     /* [out] */ long *plMode);
  14231.  
  14232.  
  14233. void __RPC_STUB IAMTVAudio_get_TVAudioMode_Stub(
  14234.     IRpcStubBuffer *This,
  14235.     IRpcChannelBuffer *_pRpcChannelBuffer,
  14236.     PRPC_MESSAGE _pRpcMessage,
  14237.     DWORD *_pdwStubPhase);
  14238.  
  14239.  
  14240. HRESULT STDMETHODCALLTYPE IAMTVAudio_put_TVAudioMode_Proxy( 
  14241.     IAMTVAudio * This,
  14242.     /* [in] */ long lMode);
  14243.  
  14244.  
  14245. void __RPC_STUB IAMTVAudio_put_TVAudioMode_Stub(
  14246.     IRpcStubBuffer *This,
  14247.     IRpcChannelBuffer *_pRpcChannelBuffer,
  14248.     PRPC_MESSAGE _pRpcMessage,
  14249.     DWORD *_pdwStubPhase);
  14250.  
  14251.  
  14252. HRESULT STDMETHODCALLTYPE IAMTVAudio_RegisterNotificationCallBack_Proxy( 
  14253.     IAMTVAudio * This,
  14254.     /* [in] */ IAMTunerNotification *pNotify,
  14255.     /* [in] */ long lEvents);
  14256.  
  14257.  
  14258. void __RPC_STUB IAMTVAudio_RegisterNotificationCallBack_Stub(
  14259.     IRpcStubBuffer *This,
  14260.     IRpcChannelBuffer *_pRpcChannelBuffer,
  14261.     PRPC_MESSAGE _pRpcMessage,
  14262.     DWORD *_pdwStubPhase);
  14263.  
  14264.  
  14265. HRESULT STDMETHODCALLTYPE IAMTVAudio_UnRegisterNotificationCallBack_Proxy( 
  14266.     IAMTVAudio * This,
  14267.     IAMTunerNotification *pNotify);
  14268.  
  14269.  
  14270. void __RPC_STUB IAMTVAudio_UnRegisterNotificationCallBack_Stub(
  14271.     IRpcStubBuffer *This,
  14272.     IRpcChannelBuffer *_pRpcChannelBuffer,
  14273.     PRPC_MESSAGE _pRpcMessage,
  14274.     DWORD *_pdwStubPhase);
  14275.  
  14276.  
  14277.  
  14278. #endif     /* __IAMTVAudio_INTERFACE_DEFINED__ */
  14279.  
  14280.  
  14281. #ifndef __IAMTVAudioNotification_INTERFACE_DEFINED__
  14282. #define __IAMTVAudioNotification_INTERFACE_DEFINED__
  14283.  
  14284. /* interface IAMTVAudioNotification */
  14285. /* [unique][uuid][local][object] */ 
  14286.  
  14287.  
  14288. EXTERN_C const IID IID_IAMTVAudioNotification;
  14289.  
  14290. #if defined(__cplusplus) && !defined(CINTERFACE)
  14291.     
  14292.     MIDL_INTERFACE("83EC1C33-23D1-11d1-99E6-00A0C9560266")
  14293.     IAMTVAudioNotification : public IUnknown
  14294.     {
  14295.     public:
  14296.         virtual HRESULT STDMETHODCALLTYPE OnEvent( 
  14297.             /* [in] */ AMTVAudioEventType Event) = 0;
  14298.         
  14299.     };
  14300.     
  14301. #else     /* C style interface */
  14302.  
  14303.     typedef struct IAMTVAudioNotificationVtbl
  14304.     {
  14305.         BEGIN_INTERFACE
  14306.         
  14307.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  14308.             IAMTVAudioNotification * This,
  14309.             /* [in] */ REFIID riid,
  14310.             /* [iid_is][out] */ void **ppvObject);
  14311.         
  14312.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  14313.             IAMTVAudioNotification * This);
  14314.         
  14315.         ULONG ( STDMETHODCALLTYPE *Release )( 
  14316.             IAMTVAudioNotification * This);
  14317.         
  14318.         HRESULT ( STDMETHODCALLTYPE *OnEvent )( 
  14319.             IAMTVAudioNotification * This,
  14320.             /* [in] */ AMTVAudioEventType Event);
  14321.         
  14322.         END_INTERFACE
  14323.     } IAMTVAudioNotificationVtbl;
  14324.  
  14325.     interface IAMTVAudioNotification
  14326.     {
  14327.         CONST_VTBL struct IAMTVAudioNotificationVtbl *lpVtbl;
  14328.     };
  14329.  
  14330.     
  14331.  
  14332. #ifdef COBJMACROS
  14333.  
  14334.  
  14335. #define IAMTVAudioNotification_QueryInterface(This,riid,ppvObject)    \
  14336.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  14337.  
  14338. #define IAMTVAudioNotification_AddRef(This)    \
  14339.     (This)->lpVtbl -> AddRef(This)
  14340.  
  14341. #define IAMTVAudioNotification_Release(This)    \
  14342.     (This)->lpVtbl -> Release(This)
  14343.  
  14344.  
  14345. #define IAMTVAudioNotification_OnEvent(This,Event)    \
  14346.     (This)->lpVtbl -> OnEvent(This,Event)
  14347.  
  14348. #endif /* COBJMACROS */
  14349.  
  14350.  
  14351. #endif     /* C style interface */
  14352.  
  14353.  
  14354.  
  14355. HRESULT STDMETHODCALLTYPE IAMTVAudioNotification_OnEvent_Proxy( 
  14356.     IAMTVAudioNotification * This,
  14357.     /* [in] */ AMTVAudioEventType Event);
  14358.  
  14359.  
  14360. void __RPC_STUB IAMTVAudioNotification_OnEvent_Stub(
  14361.     IRpcStubBuffer *This,
  14362.     IRpcChannelBuffer *_pRpcChannelBuffer,
  14363.     PRPC_MESSAGE _pRpcMessage,
  14364.     DWORD *_pdwStubPhase);
  14365.  
  14366.  
  14367.  
  14368. #endif     /* __IAMTVAudioNotification_INTERFACE_DEFINED__ */
  14369.  
  14370.  
  14371. #ifndef __IAMAnalogVideoEncoder_INTERFACE_DEFINED__
  14372. #define __IAMAnalogVideoEncoder_INTERFACE_DEFINED__
  14373.  
  14374. /* interface IAMAnalogVideoEncoder */
  14375. /* [unique][uuid][object] */ 
  14376.  
  14377.  
  14378. EXTERN_C const IID IID_IAMAnalogVideoEncoder;
  14379.  
  14380. #if defined(__cplusplus) && !defined(CINTERFACE)
  14381.     
  14382.     MIDL_INTERFACE("C6E133B0-30AC-11d0-A18C-00A0C9118956")
  14383.     IAMAnalogVideoEncoder : public IUnknown
  14384.     {
  14385.     public:
  14386.         virtual HRESULT STDMETHODCALLTYPE get_AvailableTVFormats( 
  14387.             /* [out] */ long *lAnalogVideoStandard) = 0;
  14388.         
  14389.         virtual HRESULT STDMETHODCALLTYPE put_TVFormat( 
  14390.             /* [in] */ long lAnalogVideoStandard) = 0;
  14391.         
  14392.         virtual HRESULT STDMETHODCALLTYPE get_TVFormat( 
  14393.             /* [out] */ long *plAnalogVideoStandard) = 0;
  14394.         
  14395.         virtual HRESULT STDMETHODCALLTYPE put_CopyProtection( 
  14396.             /* [in] */ long lVideoCopyProtection) = 0;
  14397.         
  14398.         virtual HRESULT STDMETHODCALLTYPE get_CopyProtection( 
  14399.             /* [out] */ long *lVideoCopyProtection) = 0;
  14400.         
  14401.         virtual HRESULT STDMETHODCALLTYPE put_CCEnable( 
  14402.             /* [in] */ long lCCEnable) = 0;
  14403.         
  14404.         virtual HRESULT STDMETHODCALLTYPE get_CCEnable( 
  14405.             /* [out] */ long *lCCEnable) = 0;
  14406.         
  14407.     };
  14408.     
  14409. #else     /* C style interface */
  14410.  
  14411.     typedef struct IAMAnalogVideoEncoderVtbl
  14412.     {
  14413.         BEGIN_INTERFACE
  14414.         
  14415.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  14416.             IAMAnalogVideoEncoder * This,
  14417.             /* [in] */ REFIID riid,
  14418.             /* [iid_is][out] */ void **ppvObject);
  14419.         
  14420.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  14421.             IAMAnalogVideoEncoder * This);
  14422.         
  14423.         ULONG ( STDMETHODCALLTYPE *Release )( 
  14424.             IAMAnalogVideoEncoder * This);
  14425.         
  14426.         HRESULT ( STDMETHODCALLTYPE *get_AvailableTVFormats )( 
  14427.             IAMAnalogVideoEncoder * This,
  14428.             /* [out] */ long *lAnalogVideoStandard);
  14429.         
  14430.         HRESULT ( STDMETHODCALLTYPE *put_TVFormat )( 
  14431.             IAMAnalogVideoEncoder * This,
  14432.             /* [in] */ long lAnalogVideoStandard);
  14433.         
  14434.         HRESULT ( STDMETHODCALLTYPE *get_TVFormat )( 
  14435.             IAMAnalogVideoEncoder * This,
  14436.             /* [out] */ long *plAnalogVideoStandard);
  14437.         
  14438.         HRESULT ( STDMETHODCALLTYPE *put_CopyProtection )( 
  14439.             IAMAnalogVideoEncoder * This,
  14440.             /* [in] */ long lVideoCopyProtection);
  14441.         
  14442.         HRESULT ( STDMETHODCALLTYPE *get_CopyProtection )( 
  14443.             IAMAnalogVideoEncoder * This,
  14444.             /* [out] */ long *lVideoCopyProtection);
  14445.         
  14446.         HRESULT ( STDMETHODCALLTYPE *put_CCEnable )( 
  14447.             IAMAnalogVideoEncoder * This,
  14448.             /* [in] */ long lCCEnable);
  14449.         
  14450.         HRESULT ( STDMETHODCALLTYPE *get_CCEnable )( 
  14451.             IAMAnalogVideoEncoder * This,
  14452.             /* [out] */ long *lCCEnable);
  14453.         
  14454.         END_INTERFACE
  14455.     } IAMAnalogVideoEncoderVtbl;
  14456.  
  14457.     interface IAMAnalogVideoEncoder
  14458.     {
  14459.         CONST_VTBL struct IAMAnalogVideoEncoderVtbl *lpVtbl;
  14460.     };
  14461.  
  14462.     
  14463.  
  14464. #ifdef COBJMACROS
  14465.  
  14466.  
  14467. #define IAMAnalogVideoEncoder_QueryInterface(This,riid,ppvObject)    \
  14468.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  14469.  
  14470. #define IAMAnalogVideoEncoder_AddRef(This)    \
  14471.     (This)->lpVtbl -> AddRef(This)
  14472.  
  14473. #define IAMAnalogVideoEncoder_Release(This)    \
  14474.     (This)->lpVtbl -> Release(This)
  14475.  
  14476.  
  14477. #define IAMAnalogVideoEncoder_get_AvailableTVFormats(This,lAnalogVideoStandard)    \
  14478.     (This)->lpVtbl -> get_AvailableTVFormats(This,lAnalogVideoStandard)
  14479.  
  14480. #define IAMAnalogVideoEncoder_put_TVFormat(This,lAnalogVideoStandard)    \
  14481.     (This)->lpVtbl -> put_TVFormat(This,lAnalogVideoStandard)
  14482.  
  14483. #define IAMAnalogVideoEncoder_get_TVFormat(This,plAnalogVideoStandard)    \
  14484.     (This)->lpVtbl -> get_TVFormat(This,plAnalogVideoStandard)
  14485.  
  14486. #define IAMAnalogVideoEncoder_put_CopyProtection(This,lVideoCopyProtection)    \
  14487.     (This)->lpVtbl -> put_CopyProtection(This,lVideoCopyProtection)
  14488.  
  14489. #define IAMAnalogVideoEncoder_get_CopyProtection(This,lVideoCopyProtection)    \
  14490.     (This)->lpVtbl -> get_CopyProtection(This,lVideoCopyProtection)
  14491.  
  14492. #define IAMAnalogVideoEncoder_put_CCEnable(This,lCCEnable)    \
  14493.     (This)->lpVtbl -> put_CCEnable(This,lCCEnable)
  14494.  
  14495. #define IAMAnalogVideoEncoder_get_CCEnable(This,lCCEnable)    \
  14496.     (This)->lpVtbl -> get_CCEnable(This,lCCEnable)
  14497.  
  14498. #endif /* COBJMACROS */
  14499.  
  14500.  
  14501. #endif     /* C style interface */
  14502.  
  14503.  
  14504.  
  14505. HRESULT STDMETHODCALLTYPE IAMAnalogVideoEncoder_get_AvailableTVFormats_Proxy( 
  14506.     IAMAnalogVideoEncoder * This,
  14507.     /* [out] */ long *lAnalogVideoStandard);
  14508.  
  14509.  
  14510. void __RPC_STUB IAMAnalogVideoEncoder_get_AvailableTVFormats_Stub(
  14511.     IRpcStubBuffer *This,
  14512.     IRpcChannelBuffer *_pRpcChannelBuffer,
  14513.     PRPC_MESSAGE _pRpcMessage,
  14514.     DWORD *_pdwStubPhase);
  14515.  
  14516.  
  14517. HRESULT STDMETHODCALLTYPE IAMAnalogVideoEncoder_put_TVFormat_Proxy( 
  14518.     IAMAnalogVideoEncoder * This,
  14519.     /* [in] */ long lAnalogVideoStandard);
  14520.  
  14521.  
  14522. void __RPC_STUB IAMAnalogVideoEncoder_put_TVFormat_Stub(
  14523.     IRpcStubBuffer *This,
  14524.     IRpcChannelBuffer *_pRpcChannelBuffer,
  14525.     PRPC_MESSAGE _pRpcMessage,
  14526.     DWORD *_pdwStubPhase);
  14527.  
  14528.  
  14529. HRESULT STDMETHODCALLTYPE IAMAnalogVideoEncoder_get_TVFormat_Proxy( 
  14530.     IAMAnalogVideoEncoder * This,
  14531.     /* [out] */ long *plAnalogVideoStandard);
  14532.  
  14533.  
  14534. void __RPC_STUB IAMAnalogVideoEncoder_get_TVFormat_Stub(
  14535.     IRpcStubBuffer *This,
  14536.     IRpcChannelBuffer *_pRpcChannelBuffer,
  14537.     PRPC_MESSAGE _pRpcMessage,
  14538.     DWORD *_pdwStubPhase);
  14539.  
  14540.  
  14541. HRESULT STDMETHODCALLTYPE IAMAnalogVideoEncoder_put_CopyProtection_Proxy( 
  14542.     IAMAnalogVideoEncoder * This,
  14543.     /* [in] */ long lVideoCopyProtection);
  14544.  
  14545.  
  14546. void __RPC_STUB IAMAnalogVideoEncoder_put_CopyProtection_Stub(
  14547.     IRpcStubBuffer *This,
  14548.     IRpcChannelBuffer *_pRpcChannelBuffer,
  14549.     PRPC_MESSAGE _pRpcMessage,
  14550.     DWORD *_pdwStubPhase);
  14551.  
  14552.  
  14553. HRESULT STDMETHODCALLTYPE IAMAnalogVideoEncoder_get_CopyProtection_Proxy( 
  14554.     IAMAnalogVideoEncoder * This,
  14555.     /* [out] */ long *lVideoCopyProtection);
  14556.  
  14557.  
  14558. void __RPC_STUB IAMAnalogVideoEncoder_get_CopyProtection_Stub(
  14559.     IRpcStubBuffer *This,
  14560.     IRpcChannelBuffer *_pRpcChannelBuffer,
  14561.     PRPC_MESSAGE _pRpcMessage,
  14562.     DWORD *_pdwStubPhase);
  14563.  
  14564.  
  14565. HRESULT STDMETHODCALLTYPE IAMAnalogVideoEncoder_put_CCEnable_Proxy( 
  14566.     IAMAnalogVideoEncoder * This,
  14567.     /* [in] */ long lCCEnable);
  14568.  
  14569.  
  14570. void __RPC_STUB IAMAnalogVideoEncoder_put_CCEnable_Stub(
  14571.     IRpcStubBuffer *This,
  14572.     IRpcChannelBuffer *_pRpcChannelBuffer,
  14573.     PRPC_MESSAGE _pRpcMessage,
  14574.     DWORD *_pdwStubPhase);
  14575.  
  14576.  
  14577. HRESULT STDMETHODCALLTYPE IAMAnalogVideoEncoder_get_CCEnable_Proxy( 
  14578.     IAMAnalogVideoEncoder * This,
  14579.     /* [out] */ long *lCCEnable);
  14580.  
  14581.  
  14582. void __RPC_STUB IAMAnalogVideoEncoder_get_CCEnable_Stub(
  14583.     IRpcStubBuffer *This,
  14584.     IRpcChannelBuffer *_pRpcChannelBuffer,
  14585.     PRPC_MESSAGE _pRpcMessage,
  14586.     DWORD *_pdwStubPhase);
  14587.  
  14588.  
  14589.  
  14590. #endif     /* __IAMAnalogVideoEncoder_INTERFACE_DEFINED__ */
  14591.  
  14592.  
  14593. /* interface __MIDL_itf_strmif_0176 */
  14594. /* [local] */ 
  14595.  
  14596. typedef /* [public] */ 
  14597. enum __MIDL___MIDL_itf_strmif_0176_0001
  14598.     {    AMPROPERTY_PIN_CATEGORY    = 0,
  14599.     AMPROPERTY_PIN_MEDIUM    = AMPROPERTY_PIN_CATEGORY + 1
  14600.     }     AMPROPERTY_PIN;
  14601.  
  14602. #ifndef _IKsPropertySet_
  14603. #define _IKsPropertySet_
  14604. #define KSPROPERTY_SUPPORT_GET  1
  14605. #define KSPROPERTY_SUPPORT_SET  2
  14606.  
  14607.  
  14608. extern RPC_IF_HANDLE __MIDL_itf_strmif_0176_v0_0_c_ifspec;
  14609. extern RPC_IF_HANDLE __MIDL_itf_strmif_0176_v0_0_s_ifspec;
  14610.  
  14611. #ifndef __IKsPropertySet_INTERFACE_DEFINED__
  14612. #define __IKsPropertySet_INTERFACE_DEFINED__
  14613.  
  14614. /* interface IKsPropertySet */
  14615. /* [unique][uuid][object] */ 
  14616.  
  14617.  
  14618. EXTERN_C const IID IID_IKsPropertySet;
  14619.  
  14620. #if defined(__cplusplus) && !defined(CINTERFACE)
  14621.     
  14622.     MIDL_INTERFACE("31EFAC30-515C-11d0-A9AA-00AA0061BE93")
  14623.     IKsPropertySet : public IUnknown
  14624.     {
  14625.     public:
  14626.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE Set( 
  14627.             /* [in] */ REFGUID guidPropSet,
  14628.             /* [in] */ DWORD dwPropID,
  14629.             /* [size_is][in] */ LPVOID pInstanceData,
  14630.             /* [in] */ DWORD cbInstanceData,
  14631.             /* [size_is][in] */ LPVOID pPropData,
  14632.             /* [in] */ DWORD cbPropData) = 0;
  14633.         
  14634.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE Get( 
  14635.             /* [in] */ REFGUID guidPropSet,
  14636.             /* [in] */ DWORD dwPropID,
  14637.             /* [size_is][in] */ LPVOID pInstanceData,
  14638.             /* [in] */ DWORD cbInstanceData,
  14639.             /* [size_is][out] */ LPVOID pPropData,
  14640.             /* [in] */ DWORD cbPropData,
  14641.             /* [out] */ DWORD *pcbReturned) = 0;
  14642.         
  14643.         virtual HRESULT STDMETHODCALLTYPE QuerySupported( 
  14644.             /* [in] */ REFGUID guidPropSet,
  14645.             /* [in] */ DWORD dwPropID,
  14646.             /* [out] */ DWORD *pTypeSupport) = 0;
  14647.         
  14648.     };
  14649.     
  14650. #else     /* C style interface */
  14651.  
  14652.     typedef struct IKsPropertySetVtbl
  14653.     {
  14654.         BEGIN_INTERFACE
  14655.         
  14656.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  14657.             IKsPropertySet * This,
  14658.             /* [in] */ REFIID riid,
  14659.             /* [iid_is][out] */ void **ppvObject);
  14660.         
  14661.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  14662.             IKsPropertySet * This);
  14663.         
  14664.         ULONG ( STDMETHODCALLTYPE *Release )( 
  14665.             IKsPropertySet * This);
  14666.         
  14667.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Set )( 
  14668.             IKsPropertySet * This,
  14669.             /* [in] */ REFGUID guidPropSet,
  14670.             /* [in] */ DWORD dwPropID,
  14671.             /* [size_is][in] */ LPVOID pInstanceData,
  14672.             /* [in] */ DWORD cbInstanceData,
  14673.             /* [size_is][in] */ LPVOID pPropData,
  14674.             /* [in] */ DWORD cbPropData);
  14675.         
  14676.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Get )( 
  14677.             IKsPropertySet * This,
  14678.             /* [in] */ REFGUID guidPropSet,
  14679.             /* [in] */ DWORD dwPropID,
  14680.             /* [size_is][in] */ LPVOID pInstanceData,
  14681.             /* [in] */ DWORD cbInstanceData,
  14682.             /* [size_is][out] */ LPVOID pPropData,
  14683.             /* [in] */ DWORD cbPropData,
  14684.             /* [out] */ DWORD *pcbReturned);
  14685.         
  14686.         HRESULT ( STDMETHODCALLTYPE *QuerySupported )( 
  14687.             IKsPropertySet * This,
  14688.             /* [in] */ REFGUID guidPropSet,
  14689.             /* [in] */ DWORD dwPropID,
  14690.             /* [out] */ DWORD *pTypeSupport);
  14691.         
  14692.         END_INTERFACE
  14693.     } IKsPropertySetVtbl;
  14694.  
  14695.     interface IKsPropertySet
  14696.     {
  14697.         CONST_VTBL struct IKsPropertySetVtbl *lpVtbl;
  14698.     };
  14699.  
  14700.     
  14701.  
  14702. #ifdef COBJMACROS
  14703.  
  14704.  
  14705. #define IKsPropertySet_QueryInterface(This,riid,ppvObject)    \
  14706.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  14707.  
  14708. #define IKsPropertySet_AddRef(This)    \
  14709.     (This)->lpVtbl -> AddRef(This)
  14710.  
  14711. #define IKsPropertySet_Release(This)    \
  14712.     (This)->lpVtbl -> Release(This)
  14713.  
  14714.  
  14715. #define IKsPropertySet_Set(This,guidPropSet,dwPropID,pInstanceData,cbInstanceData,pPropData,cbPropData)    \
  14716.     (This)->lpVtbl -> Set(This,guidPropSet,dwPropID,pInstanceData,cbInstanceData,pPropData,cbPropData)
  14717.  
  14718. #define IKsPropertySet_Get(This,guidPropSet,dwPropID,pInstanceData,cbInstanceData,pPropData,cbPropData,pcbReturned)    \
  14719.     (This)->lpVtbl -> Get(This,guidPropSet,dwPropID,pInstanceData,cbInstanceData,pPropData,cbPropData,pcbReturned)
  14720.  
  14721. #define IKsPropertySet_QuerySupported(This,guidPropSet,dwPropID,pTypeSupport)    \
  14722.     (This)->lpVtbl -> QuerySupported(This,guidPropSet,dwPropID,pTypeSupport)
  14723.  
  14724. #endif /* COBJMACROS */
  14725.  
  14726.  
  14727. #endif     /* C style interface */
  14728.  
  14729.  
  14730.  
  14731. /* [call_as] */ HRESULT STDMETHODCALLTYPE IKsPropertySet_RemoteSet_Proxy( 
  14732.     IKsPropertySet * This,
  14733.     /* [in] */ REFGUID guidPropSet,
  14734.     /* [in] */ DWORD dwPropID,
  14735.     /* [size_is][in] */ byte *pInstanceData,
  14736.     /* [in] */ DWORD cbInstanceData,
  14737.     /* [size_is][in] */ byte *pPropData,
  14738.     /* [in] */ DWORD cbPropData);
  14739.  
  14740.  
  14741. void __RPC_STUB IKsPropertySet_RemoteSet_Stub(
  14742.     IRpcStubBuffer *This,
  14743.     IRpcChannelBuffer *_pRpcChannelBuffer,
  14744.     PRPC_MESSAGE _pRpcMessage,
  14745.     DWORD *_pdwStubPhase);
  14746.  
  14747.  
  14748. /* [call_as] */ HRESULT STDMETHODCALLTYPE IKsPropertySet_RemoteGet_Proxy( 
  14749.     IKsPropertySet * This,
  14750.     /* [in] */ REFGUID guidPropSet,
  14751.     /* [in] */ DWORD dwPropID,
  14752.     /* [size_is][in] */ byte *pInstanceData,
  14753.     /* [in] */ DWORD cbInstanceData,
  14754.     /* [size_is][out] */ byte *pPropData,
  14755.     /* [in] */ DWORD cbPropData,
  14756.     /* [out] */ DWORD *pcbReturned);
  14757.  
  14758.  
  14759. void __RPC_STUB IKsPropertySet_RemoteGet_Stub(
  14760.     IRpcStubBuffer *This,
  14761.     IRpcChannelBuffer *_pRpcChannelBuffer,
  14762.     PRPC_MESSAGE _pRpcMessage,
  14763.     DWORD *_pdwStubPhase);
  14764.  
  14765.  
  14766. HRESULT STDMETHODCALLTYPE IKsPropertySet_QuerySupported_Proxy( 
  14767.     IKsPropertySet * This,
  14768.     /* [in] */ REFGUID guidPropSet,
  14769.     /* [in] */ DWORD dwPropID,
  14770.     /* [out] */ DWORD *pTypeSupport);
  14771.  
  14772.  
  14773. void __RPC_STUB IKsPropertySet_QuerySupported_Stub(
  14774.     IRpcStubBuffer *This,
  14775.     IRpcChannelBuffer *_pRpcChannelBuffer,
  14776.     PRPC_MESSAGE _pRpcMessage,
  14777.     DWORD *_pdwStubPhase);
  14778.  
  14779.  
  14780.  
  14781. #endif     /* __IKsPropertySet_INTERFACE_DEFINED__ */
  14782.  
  14783.  
  14784. /* interface __MIDL_itf_strmif_0177 */
  14785. /* [local] */ 
  14786.  
  14787. #endif // _IKsPropertySet_
  14788.  
  14789.  
  14790. extern RPC_IF_HANDLE __MIDL_itf_strmif_0177_v0_0_c_ifspec;
  14791. extern RPC_IF_HANDLE __MIDL_itf_strmif_0177_v0_0_s_ifspec;
  14792.  
  14793. #ifndef __IMediaPropertyBag_INTERFACE_DEFINED__
  14794. #define __IMediaPropertyBag_INTERFACE_DEFINED__
  14795.  
  14796. /* interface IMediaPropertyBag */
  14797. /* [unique][uuid][object] */ 
  14798.  
  14799. typedef IMediaPropertyBag *LPMEDIAPROPERTYBAG;
  14800.  
  14801.  
  14802. EXTERN_C const IID IID_IMediaPropertyBag;
  14803.  
  14804. #if defined(__cplusplus) && !defined(CINTERFACE)
  14805.     
  14806.     MIDL_INTERFACE("6025A880-C0D5-11d0-BD4E-00A0C911CE86")
  14807.     IMediaPropertyBag : public IPropertyBag
  14808.     {
  14809.     public:
  14810.         virtual HRESULT STDMETHODCALLTYPE EnumProperty( 
  14811.             /* [in] */ ULONG iProperty,
  14812.             /* [out][in] */ VARIANT *pvarPropertyName,
  14813.             /* [out][in] */ VARIANT *pvarPropertyValue) = 0;
  14814.         
  14815.     };
  14816.     
  14817. #else     /* C style interface */
  14818.  
  14819.     typedef struct IMediaPropertyBagVtbl
  14820.     {
  14821.         BEGIN_INTERFACE
  14822.         
  14823.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  14824.             IMediaPropertyBag * This,
  14825.             /* [in] */ REFIID riid,
  14826.             /* [iid_is][out] */ void **ppvObject);
  14827.         
  14828.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  14829.             IMediaPropertyBag * This);
  14830.         
  14831.         ULONG ( STDMETHODCALLTYPE *Release )( 
  14832.             IMediaPropertyBag * This);
  14833.         
  14834.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Read )( 
  14835.             IMediaPropertyBag * This,
  14836.             /* [in] */ LPCOLESTR pszPropName,
  14837.             /* [out][in] */ VARIANT *pVar,
  14838.             /* [in] */ IErrorLog *pErrorLog);
  14839.         
  14840.         HRESULT ( STDMETHODCALLTYPE *Write )( 
  14841.             IMediaPropertyBag * This,
  14842.             /* [in] */ LPCOLESTR pszPropName,
  14843.             /* [in] */ VARIANT *pVar);
  14844.         
  14845.         HRESULT ( STDMETHODCALLTYPE *EnumProperty )( 
  14846.             IMediaPropertyBag * This,
  14847.             /* [in] */ ULONG iProperty,
  14848.             /* [out][in] */ VARIANT *pvarPropertyName,
  14849.             /* [out][in] */ VARIANT *pvarPropertyValue);
  14850.         
  14851.         END_INTERFACE
  14852.     } IMediaPropertyBagVtbl;
  14853.  
  14854.     interface IMediaPropertyBag
  14855.     {
  14856.         CONST_VTBL struct IMediaPropertyBagVtbl *lpVtbl;
  14857.     };
  14858.  
  14859.     
  14860.  
  14861. #ifdef COBJMACROS
  14862.  
  14863.  
  14864. #define IMediaPropertyBag_QueryInterface(This,riid,ppvObject)    \
  14865.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  14866.  
  14867. #define IMediaPropertyBag_AddRef(This)    \
  14868.     (This)->lpVtbl -> AddRef(This)
  14869.  
  14870. #define IMediaPropertyBag_Release(This)    \
  14871.     (This)->lpVtbl -> Release(This)
  14872.  
  14873.  
  14874. #define IMediaPropertyBag_Read(This,pszPropName,pVar,pErrorLog)    \
  14875.     (This)->lpVtbl -> Read(This,pszPropName,pVar,pErrorLog)
  14876.  
  14877. #define IMediaPropertyBag_Write(This,pszPropName,pVar)    \
  14878.     (This)->lpVtbl -> Write(This,pszPropName,pVar)
  14879.  
  14880.  
  14881. #define IMediaPropertyBag_EnumProperty(This,iProperty,pvarPropertyName,pvarPropertyValue)    \
  14882.     (This)->lpVtbl -> EnumProperty(This,iProperty,pvarPropertyName,pvarPropertyValue)
  14883.  
  14884. #endif /* COBJMACROS */
  14885.  
  14886.  
  14887. #endif     /* C style interface */
  14888.  
  14889.  
  14890.  
  14891. HRESULT STDMETHODCALLTYPE IMediaPropertyBag_EnumProperty_Proxy( 
  14892.     IMediaPropertyBag * This,
  14893.     /* [in] */ ULONG iProperty,
  14894.     /* [out][in] */ VARIANT *pvarPropertyName,
  14895.     /* [out][in] */ VARIANT *pvarPropertyValue);
  14896.  
  14897.  
  14898. void __RPC_STUB IMediaPropertyBag_EnumProperty_Stub(
  14899.     IRpcStubBuffer *This,
  14900.     IRpcChannelBuffer *_pRpcChannelBuffer,
  14901.     PRPC_MESSAGE _pRpcMessage,
  14902.     DWORD *_pdwStubPhase);
  14903.  
  14904.  
  14905.  
  14906. #endif     /* __IMediaPropertyBag_INTERFACE_DEFINED__ */
  14907.  
  14908.  
  14909. #ifndef __IPersistMediaPropertyBag_INTERFACE_DEFINED__
  14910. #define __IPersistMediaPropertyBag_INTERFACE_DEFINED__
  14911.  
  14912. /* interface IPersistMediaPropertyBag */
  14913. /* [unique][uuid][object] */ 
  14914.  
  14915. typedef IPersistMediaPropertyBag *LPPERSISTMEDIAPROPERTYBAG;
  14916.  
  14917.  
  14918. EXTERN_C const IID IID_IPersistMediaPropertyBag;
  14919.  
  14920. #if defined(__cplusplus) && !defined(CINTERFACE)
  14921.     
  14922.     MIDL_INTERFACE("5738E040-B67F-11d0-BD4D-00A0C911CE86")
  14923.     IPersistMediaPropertyBag : public IPersist
  14924.     {
  14925.     public:
  14926.         virtual HRESULT STDMETHODCALLTYPE InitNew( void) = 0;
  14927.         
  14928.         virtual HRESULT STDMETHODCALLTYPE Load( 
  14929.             /* [in] */ IMediaPropertyBag *pPropBag,
  14930.             /* [in] */ IErrorLog *pErrorLog) = 0;
  14931.         
  14932.         virtual HRESULT STDMETHODCALLTYPE Save( 
  14933.             /* [in] */ IMediaPropertyBag *pPropBag,
  14934.             /* [in] */ BOOL fClearDirty,
  14935.             /* [in] */ BOOL fSaveAllProperties) = 0;
  14936.         
  14937.     };
  14938.     
  14939. #else     /* C style interface */
  14940.  
  14941.     typedef struct IPersistMediaPropertyBagVtbl
  14942.     {
  14943.         BEGIN_INTERFACE
  14944.         
  14945.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  14946.             IPersistMediaPropertyBag * This,
  14947.             /* [in] */ REFIID riid,
  14948.             /* [iid_is][out] */ void **ppvObject);
  14949.         
  14950.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  14951.             IPersistMediaPropertyBag * This);
  14952.         
  14953.         ULONG ( STDMETHODCALLTYPE *Release )( 
  14954.             IPersistMediaPropertyBag * This);
  14955.         
  14956.         HRESULT ( STDMETHODCALLTYPE *GetClassID )( 
  14957.             IPersistMediaPropertyBag * This,
  14958.             /* [out] */ CLSID *pClassID);
  14959.         
  14960.         HRESULT ( STDMETHODCALLTYPE *InitNew )( 
  14961.             IPersistMediaPropertyBag * This);
  14962.         
  14963.         HRESULT ( STDMETHODCALLTYPE *Load )( 
  14964.             IPersistMediaPropertyBag * This,
  14965.             /* [in] */ IMediaPropertyBag *pPropBag,
  14966.             /* [in] */ IErrorLog *pErrorLog);
  14967.         
  14968.         HRESULT ( STDMETHODCALLTYPE *Save )( 
  14969.             IPersistMediaPropertyBag * This,
  14970.             /* [in] */ IMediaPropertyBag *pPropBag,
  14971.             /* [in] */ BOOL fClearDirty,
  14972.             /* [in] */ BOOL fSaveAllProperties);
  14973.         
  14974.         END_INTERFACE
  14975.     } IPersistMediaPropertyBagVtbl;
  14976.  
  14977.     interface IPersistMediaPropertyBag
  14978.     {
  14979.         CONST_VTBL struct IPersistMediaPropertyBagVtbl *lpVtbl;
  14980.     };
  14981.  
  14982.     
  14983.  
  14984. #ifdef COBJMACROS
  14985.  
  14986.  
  14987. #define IPersistMediaPropertyBag_QueryInterface(This,riid,ppvObject)    \
  14988.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  14989.  
  14990. #define IPersistMediaPropertyBag_AddRef(This)    \
  14991.     (This)->lpVtbl -> AddRef(This)
  14992.  
  14993. #define IPersistMediaPropertyBag_Release(This)    \
  14994.     (This)->lpVtbl -> Release(This)
  14995.  
  14996.  
  14997. #define IPersistMediaPropertyBag_GetClassID(This,pClassID)    \
  14998.     (This)->lpVtbl -> GetClassID(This,pClassID)
  14999.  
  15000.  
  15001. #define IPersistMediaPropertyBag_InitNew(This)    \
  15002.     (This)->lpVtbl -> InitNew(This)
  15003.  
  15004. #define IPersistMediaPropertyBag_Load(This,pPropBag,pErrorLog)    \
  15005.     (This)->lpVtbl -> Load(This,pPropBag,pErrorLog)
  15006.  
  15007. #define IPersistMediaPropertyBag_Save(This,pPropBag,fClearDirty,fSaveAllProperties)    \
  15008.     (This)->lpVtbl -> Save(This,pPropBag,fClearDirty,fSaveAllProperties)
  15009.  
  15010. #endif /* COBJMACROS */
  15011.  
  15012.  
  15013. #endif     /* C style interface */
  15014.  
  15015.  
  15016.  
  15017. HRESULT STDMETHODCALLTYPE IPersistMediaPropertyBag_InitNew_Proxy( 
  15018.     IPersistMediaPropertyBag * This);
  15019.  
  15020.  
  15021. void __RPC_STUB IPersistMediaPropertyBag_InitNew_Stub(
  15022.     IRpcStubBuffer *This,
  15023.     IRpcChannelBuffer *_pRpcChannelBuffer,
  15024.     PRPC_MESSAGE _pRpcMessage,
  15025.     DWORD *_pdwStubPhase);
  15026.  
  15027.  
  15028. HRESULT STDMETHODCALLTYPE IPersistMediaPropertyBag_Load_Proxy( 
  15029.     IPersistMediaPropertyBag * This,
  15030.     /* [in] */ IMediaPropertyBag *pPropBag,
  15031.     /* [in] */ IErrorLog *pErrorLog);
  15032.  
  15033.  
  15034. void __RPC_STUB IPersistMediaPropertyBag_Load_Stub(
  15035.     IRpcStubBuffer *This,
  15036.     IRpcChannelBuffer *_pRpcChannelBuffer,
  15037.     PRPC_MESSAGE _pRpcMessage,
  15038.     DWORD *_pdwStubPhase);
  15039.  
  15040.  
  15041. HRESULT STDMETHODCALLTYPE IPersistMediaPropertyBag_Save_Proxy( 
  15042.     IPersistMediaPropertyBag * This,
  15043.     /* [in] */ IMediaPropertyBag *pPropBag,
  15044.     /* [in] */ BOOL fClearDirty,
  15045.     /* [in] */ BOOL fSaveAllProperties);
  15046.  
  15047.  
  15048. void __RPC_STUB IPersistMediaPropertyBag_Save_Stub(
  15049.     IRpcStubBuffer *This,
  15050.     IRpcChannelBuffer *_pRpcChannelBuffer,
  15051.     PRPC_MESSAGE _pRpcMessage,
  15052.     DWORD *_pdwStubPhase);
  15053.  
  15054.  
  15055.  
  15056. #endif     /* __IPersistMediaPropertyBag_INTERFACE_DEFINED__ */
  15057.  
  15058.  
  15059. #ifndef __IAMPhysicalPinInfo_INTERFACE_DEFINED__
  15060. #define __IAMPhysicalPinInfo_INTERFACE_DEFINED__
  15061.  
  15062. /* interface IAMPhysicalPinInfo */
  15063. /* [unique][uuid][object] */ 
  15064.  
  15065.  
  15066. EXTERN_C const IID IID_IAMPhysicalPinInfo;
  15067.  
  15068. #if defined(__cplusplus) && !defined(CINTERFACE)
  15069.     
  15070.     MIDL_INTERFACE("F938C991-3029-11cf-8C44-00AA006B6814")
  15071.     IAMPhysicalPinInfo : public IUnknown
  15072.     {
  15073.     public:
  15074.         virtual HRESULT STDMETHODCALLTYPE GetPhysicalType( 
  15075.             /* [out] */ long *pType,
  15076.             /* [out] */ LPOLESTR *ppszType) = 0;
  15077.         
  15078.     };
  15079.     
  15080. #else     /* C style interface */
  15081.  
  15082.     typedef struct IAMPhysicalPinInfoVtbl
  15083.     {
  15084.         BEGIN_INTERFACE
  15085.         
  15086.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  15087.             IAMPhysicalPinInfo * This,
  15088.             /* [in] */ REFIID riid,
  15089.             /* [iid_is][out] */ void **ppvObject);
  15090.         
  15091.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  15092.             IAMPhysicalPinInfo * This);
  15093.         
  15094.         ULONG ( STDMETHODCALLTYPE *Release )( 
  15095.             IAMPhysicalPinInfo * This);
  15096.         
  15097.         HRESULT ( STDMETHODCALLTYPE *GetPhysicalType )( 
  15098.             IAMPhysicalPinInfo * This,
  15099.             /* [out] */ long *pType,
  15100.             /* [out] */ LPOLESTR *ppszType);
  15101.         
  15102.         END_INTERFACE
  15103.     } IAMPhysicalPinInfoVtbl;
  15104.  
  15105.     interface IAMPhysicalPinInfo
  15106.     {
  15107.         CONST_VTBL struct IAMPhysicalPinInfoVtbl *lpVtbl;
  15108.     };
  15109.  
  15110.     
  15111.  
  15112. #ifdef COBJMACROS
  15113.  
  15114.  
  15115. #define IAMPhysicalPinInfo_QueryInterface(This,riid,ppvObject)    \
  15116.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  15117.  
  15118. #define IAMPhysicalPinInfo_AddRef(This)    \
  15119.     (This)->lpVtbl -> AddRef(This)
  15120.  
  15121. #define IAMPhysicalPinInfo_Release(This)    \
  15122.     (This)->lpVtbl -> Release(This)
  15123.  
  15124.  
  15125. #define IAMPhysicalPinInfo_GetPhysicalType(This,pType,ppszType)    \
  15126.     (This)->lpVtbl -> GetPhysicalType(This,pType,ppszType)
  15127.  
  15128. #endif /* COBJMACROS */
  15129.  
  15130.  
  15131. #endif     /* C style interface */
  15132.  
  15133.  
  15134.  
  15135. HRESULT STDMETHODCALLTYPE IAMPhysicalPinInfo_GetPhysicalType_Proxy( 
  15136.     IAMPhysicalPinInfo * This,
  15137.     /* [out] */ long *pType,
  15138.     /* [out] */ LPOLESTR *ppszType);
  15139.  
  15140.  
  15141. void __RPC_STUB IAMPhysicalPinInfo_GetPhysicalType_Stub(
  15142.     IRpcStubBuffer *This,
  15143.     IRpcChannelBuffer *_pRpcChannelBuffer,
  15144.     PRPC_MESSAGE _pRpcMessage,
  15145.     DWORD *_pdwStubPhase);
  15146.  
  15147.  
  15148.  
  15149. #endif     /* __IAMPhysicalPinInfo_INTERFACE_DEFINED__ */
  15150.  
  15151.  
  15152. /* interface __MIDL_itf_strmif_0322 */
  15153. /* [local] */ 
  15154.  
  15155. typedef IAMPhysicalPinInfo *PAMPHYSICALPININFO;
  15156.  
  15157.  
  15158.  
  15159. extern RPC_IF_HANDLE __MIDL_itf_strmif_0322_v0_0_c_ifspec;
  15160. extern RPC_IF_HANDLE __MIDL_itf_strmif_0322_v0_0_s_ifspec;
  15161.  
  15162. #ifndef __IAMExtDevice_INTERFACE_DEFINED__
  15163. #define __IAMExtDevice_INTERFACE_DEFINED__
  15164.  
  15165. /* interface IAMExtDevice */
  15166. /* [unique][uuid][object] */ 
  15167.  
  15168.  
  15169. EXTERN_C const IID IID_IAMExtDevice;
  15170.  
  15171. #if defined(__cplusplus) && !defined(CINTERFACE)
  15172.     
  15173.     MIDL_INTERFACE("B5730A90-1A2C-11cf-8C23-00AA006B6814")
  15174.     IAMExtDevice : public IUnknown
  15175.     {
  15176.     public:
  15177.         virtual HRESULT STDMETHODCALLTYPE GetCapability( 
  15178.             /* [in] */ long Capability,
  15179.             /* [out] */ long *pValue,
  15180.             /* [out] */ double *pdblValue) = 0;
  15181.         
  15182.         virtual HRESULT STDMETHODCALLTYPE get_ExternalDeviceID( 
  15183.             /* [out] */ LPOLESTR *ppszData) = 0;
  15184.         
  15185.         virtual HRESULT STDMETHODCALLTYPE get_ExternalDeviceVersion( 
  15186.             /* [out] */ LPOLESTR *ppszData) = 0;
  15187.         
  15188.         virtual HRESULT STDMETHODCALLTYPE put_DevicePower( 
  15189.             /* [in] */ long PowerMode) = 0;
  15190.         
  15191.         virtual HRESULT STDMETHODCALLTYPE get_DevicePower( 
  15192.             /* [out] */ long *pPowerMode) = 0;
  15193.         
  15194.         virtual HRESULT STDMETHODCALLTYPE Calibrate( 
  15195.             /* [in] */ HEVENT hEvent,
  15196.             /* [in] */ long Mode,
  15197.             /* [out] */ long *pStatus) = 0;
  15198.         
  15199.         virtual HRESULT STDMETHODCALLTYPE put_DevicePort( 
  15200.             /* [in] */ long DevicePort) = 0;
  15201.         
  15202.         virtual HRESULT STDMETHODCALLTYPE get_DevicePort( 
  15203.             /* [out] */ long *pDevicePort) = 0;
  15204.         
  15205.     };
  15206.     
  15207. #else     /* C style interface */
  15208.  
  15209.     typedef struct IAMExtDeviceVtbl
  15210.     {
  15211.         BEGIN_INTERFACE
  15212.         
  15213.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  15214.             IAMExtDevice * This,
  15215.             /* [in] */ REFIID riid,
  15216.             /* [iid_is][out] */ void **ppvObject);
  15217.         
  15218.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  15219.             IAMExtDevice * This);
  15220.         
  15221.         ULONG ( STDMETHODCALLTYPE *Release )( 
  15222.             IAMExtDevice * This);
  15223.         
  15224.         HRESULT ( STDMETHODCALLTYPE *GetCapability )( 
  15225.             IAMExtDevice * This,
  15226.             /* [in] */ long Capability,
  15227.             /* [out] */ long *pValue,
  15228.             /* [out] */ double *pdblValue);
  15229.         
  15230.         HRESULT ( STDMETHODCALLTYPE *get_ExternalDeviceID )( 
  15231.             IAMExtDevice * This,
  15232.             /* [out] */ LPOLESTR *ppszData);
  15233.         
  15234.         HRESULT ( STDMETHODCALLTYPE *get_ExternalDeviceVersion )( 
  15235.             IAMExtDevice * This,
  15236.             /* [out] */ LPOLESTR *ppszData);
  15237.         
  15238.         HRESULT ( STDMETHODCALLTYPE *put_DevicePower )( 
  15239.             IAMExtDevice * This,
  15240.             /* [in] */ long PowerMode);
  15241.         
  15242.         HRESULT ( STDMETHODCALLTYPE *get_DevicePower )( 
  15243.             IAMExtDevice * This,
  15244.             /* [out] */ long *pPowerMode);
  15245.         
  15246.         HRESULT ( STDMETHODCALLTYPE *Calibrate )( 
  15247.             IAMExtDevice * This,
  15248.             /* [in] */ HEVENT hEvent,
  15249.             /* [in] */ long Mode,
  15250.             /* [out] */ long *pStatus);
  15251.         
  15252.         HRESULT ( STDMETHODCALLTYPE *put_DevicePort )( 
  15253.             IAMExtDevice * This,
  15254.             /* [in] */ long DevicePort);
  15255.         
  15256.         HRESULT ( STDMETHODCALLTYPE *get_DevicePort )( 
  15257.             IAMExtDevice * This,
  15258.             /* [out] */ long *pDevicePort);
  15259.         
  15260.         END_INTERFACE
  15261.     } IAMExtDeviceVtbl;
  15262.  
  15263.     interface IAMExtDevice
  15264.     {
  15265.         CONST_VTBL struct IAMExtDeviceVtbl *lpVtbl;
  15266.     };
  15267.  
  15268.     
  15269.  
  15270. #ifdef COBJMACROS
  15271.  
  15272.  
  15273. #define IAMExtDevice_QueryInterface(This,riid,ppvObject)    \
  15274.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  15275.  
  15276. #define IAMExtDevice_AddRef(This)    \
  15277.     (This)->lpVtbl -> AddRef(This)
  15278.  
  15279. #define IAMExtDevice_Release(This)    \
  15280.     (This)->lpVtbl -> Release(This)
  15281.  
  15282.  
  15283. #define IAMExtDevice_GetCapability(This,Capability,pValue,pdblValue)    \
  15284.     (This)->lpVtbl -> GetCapability(This,Capability,pValue,pdblValue)
  15285.  
  15286. #define IAMExtDevice_get_ExternalDeviceID(This,ppszData)    \
  15287.     (This)->lpVtbl -> get_ExternalDeviceID(This,ppszData)
  15288.  
  15289. #define IAMExtDevice_get_ExternalDeviceVersion(This,ppszData)    \
  15290.     (This)->lpVtbl -> get_ExternalDeviceVersion(This,ppszData)
  15291.  
  15292. #define IAMExtDevice_put_DevicePower(This,PowerMode)    \
  15293.     (This)->lpVtbl -> put_DevicePower(This,PowerMode)
  15294.  
  15295. #define IAMExtDevice_get_DevicePower(This,pPowerMode)    \
  15296.     (This)->lpVtbl -> get_DevicePower(This,pPowerMode)
  15297.  
  15298. #define IAMExtDevice_Calibrate(This,hEvent,Mode,pStatus)    \
  15299.     (This)->lpVtbl -> Calibrate(This,hEvent,Mode,pStatus)
  15300.  
  15301. #define IAMExtDevice_put_DevicePort(This,DevicePort)    \
  15302.     (This)->lpVtbl -> put_DevicePort(This,DevicePort)
  15303.  
  15304. #define IAMExtDevice_get_DevicePort(This,pDevicePort)    \
  15305.     (This)->lpVtbl -> get_DevicePort(This,pDevicePort)
  15306.  
  15307. #endif /* COBJMACROS */
  15308.  
  15309.  
  15310. #endif     /* C style interface */
  15311.  
  15312.  
  15313.  
  15314. HRESULT STDMETHODCALLTYPE IAMExtDevice_GetCapability_Proxy( 
  15315.     IAMExtDevice * This,
  15316.     /* [in] */ long Capability,
  15317.     /* [out] */ long *pValue,
  15318.     /* [out] */ double *pdblValue);
  15319.  
  15320.  
  15321. void __RPC_STUB IAMExtDevice_GetCapability_Stub(
  15322.     IRpcStubBuffer *This,
  15323.     IRpcChannelBuffer *_pRpcChannelBuffer,
  15324.     PRPC_MESSAGE _pRpcMessage,
  15325.     DWORD *_pdwStubPhase);
  15326.  
  15327.  
  15328. HRESULT STDMETHODCALLTYPE IAMExtDevice_get_ExternalDeviceID_Proxy( 
  15329.     IAMExtDevice * This,
  15330.     /* [out] */ LPOLESTR *ppszData);
  15331.  
  15332.  
  15333. void __RPC_STUB IAMExtDevice_get_ExternalDeviceID_Stub(
  15334.     IRpcStubBuffer *This,
  15335.     IRpcChannelBuffer *_pRpcChannelBuffer,
  15336.     PRPC_MESSAGE _pRpcMessage,
  15337.     DWORD *_pdwStubPhase);
  15338.  
  15339.  
  15340. HRESULT STDMETHODCALLTYPE IAMExtDevice_get_ExternalDeviceVersion_Proxy( 
  15341.     IAMExtDevice * This,
  15342.     /* [out] */ LPOLESTR *ppszData);
  15343.  
  15344.  
  15345. void __RPC_STUB IAMExtDevice_get_ExternalDeviceVersion_Stub(
  15346.     IRpcStubBuffer *This,
  15347.     IRpcChannelBuffer *_pRpcChannelBuffer,
  15348.     PRPC_MESSAGE _pRpcMessage,
  15349.     DWORD *_pdwStubPhase);
  15350.  
  15351.  
  15352. HRESULT STDMETHODCALLTYPE IAMExtDevice_put_DevicePower_Proxy( 
  15353.     IAMExtDevice * This,
  15354.     /* [in] */ long PowerMode);
  15355.  
  15356.  
  15357. void __RPC_STUB IAMExtDevice_put_DevicePower_Stub(
  15358.     IRpcStubBuffer *This,
  15359.     IRpcChannelBuffer *_pRpcChannelBuffer,
  15360.     PRPC_MESSAGE _pRpcMessage,
  15361.     DWORD *_pdwStubPhase);
  15362.  
  15363.  
  15364. HRESULT STDMETHODCALLTYPE IAMExtDevice_get_DevicePower_Proxy( 
  15365.     IAMExtDevice * This,
  15366.     /* [out] */ long *pPowerMode);
  15367.  
  15368.  
  15369. void __RPC_STUB IAMExtDevice_get_DevicePower_Stub(
  15370.     IRpcStubBuffer *This,
  15371.     IRpcChannelBuffer *_pRpcChannelBuffer,
  15372.     PRPC_MESSAGE _pRpcMessage,
  15373.     DWORD *_pdwStubPhase);
  15374.  
  15375.  
  15376. HRESULT STDMETHODCALLTYPE IAMExtDevice_Calibrate_Proxy( 
  15377.     IAMExtDevice * This,
  15378.     /* [in] */ HEVENT hEvent,
  15379.     /* [in] */ long Mode,
  15380.     /* [out] */ long *pStatus);
  15381.  
  15382.  
  15383. void __RPC_STUB IAMExtDevice_Calibrate_Stub(
  15384.     IRpcStubBuffer *This,
  15385.     IRpcChannelBuffer *_pRpcChannelBuffer,
  15386.     PRPC_MESSAGE _pRpcMessage,
  15387.     DWORD *_pdwStubPhase);
  15388.  
  15389.  
  15390. HRESULT STDMETHODCALLTYPE IAMExtDevice_put_DevicePort_Proxy( 
  15391.     IAMExtDevice * This,
  15392.     /* [in] */ long DevicePort);
  15393.  
  15394.  
  15395. void __RPC_STUB IAMExtDevice_put_DevicePort_Stub(
  15396.     IRpcStubBuffer *This,
  15397.     IRpcChannelBuffer *_pRpcChannelBuffer,
  15398.     PRPC_MESSAGE _pRpcMessage,
  15399.     DWORD *_pdwStubPhase);
  15400.  
  15401.  
  15402. HRESULT STDMETHODCALLTYPE IAMExtDevice_get_DevicePort_Proxy( 
  15403.     IAMExtDevice * This,
  15404.     /* [out] */ long *pDevicePort);
  15405.  
  15406.  
  15407. void __RPC_STUB IAMExtDevice_get_DevicePort_Stub(
  15408.     IRpcStubBuffer *This,
  15409.     IRpcChannelBuffer *_pRpcChannelBuffer,
  15410.     PRPC_MESSAGE _pRpcMessage,
  15411.     DWORD *_pdwStubPhase);
  15412.  
  15413.  
  15414.  
  15415. #endif     /* __IAMExtDevice_INTERFACE_DEFINED__ */
  15416.  
  15417.  
  15418. /* interface __MIDL_itf_strmif_0323 */
  15419. /* [local] */ 
  15420.  
  15421. typedef IAMExtDevice *PEXTDEVICE;
  15422.  
  15423.  
  15424.  
  15425. extern RPC_IF_HANDLE __MIDL_itf_strmif_0323_v0_0_c_ifspec;
  15426. extern RPC_IF_HANDLE __MIDL_itf_strmif_0323_v0_0_s_ifspec;
  15427.  
  15428. #ifndef __IAMExtTransport_INTERFACE_DEFINED__
  15429. #define __IAMExtTransport_INTERFACE_DEFINED__
  15430.  
  15431. /* interface IAMExtTransport */
  15432. /* [unique][uuid][object] */ 
  15433.  
  15434.  
  15435. EXTERN_C const IID IID_IAMExtTransport;
  15436.  
  15437. #if defined(__cplusplus) && !defined(CINTERFACE)
  15438.     
  15439.     MIDL_INTERFACE("A03CD5F0-3045-11cf-8C44-00AA006B6814")
  15440.     IAMExtTransport : public IUnknown
  15441.     {
  15442.     public:
  15443.         virtual HRESULT STDMETHODCALLTYPE GetCapability( 
  15444.             /* [in] */ long Capability,
  15445.             /* [out] */ long *pValue,
  15446.             /* [out] */ double *pdblValue) = 0;
  15447.         
  15448.         virtual HRESULT STDMETHODCALLTYPE put_MediaState( 
  15449.             /* [in] */ long State) = 0;
  15450.         
  15451.         virtual HRESULT STDMETHODCALLTYPE get_MediaState( 
  15452.             /* [out] */ long *pState) = 0;
  15453.         
  15454.         virtual HRESULT STDMETHODCALLTYPE put_LocalControl( 
  15455.             /* [in] */ long State) = 0;
  15456.         
  15457.         virtual HRESULT STDMETHODCALLTYPE get_LocalControl( 
  15458.             /* [out] */ long *pState) = 0;
  15459.         
  15460.         virtual HRESULT STDMETHODCALLTYPE GetStatus( 
  15461.             /* [in] */ long StatusItem,
  15462.             /* [out] */ long *pValue) = 0;
  15463.         
  15464.         virtual HRESULT STDMETHODCALLTYPE GetTransportBasicParameters( 
  15465.             /* [in] */ long Param,
  15466.             /* [out] */ long *pValue,
  15467.             /* [out] */ LPOLESTR *ppszData) = 0;
  15468.         
  15469.         virtual HRESULT STDMETHODCALLTYPE SetTransportBasicParameters( 
  15470.             /* [in] */ long Param,
  15471.             /* [in] */ long Value,
  15472.             /* [in] */ LPCOLESTR pszData) = 0;
  15473.         
  15474.         virtual HRESULT STDMETHODCALLTYPE GetTransportVideoParameters( 
  15475.             /* [in] */ long Param,
  15476.             /* [out] */ long *pValue) = 0;
  15477.         
  15478.         virtual HRESULT STDMETHODCALLTYPE SetTransportVideoParameters( 
  15479.             /* [in] */ long Param,
  15480.             /* [in] */ long Value) = 0;
  15481.         
  15482.         virtual HRESULT STDMETHODCALLTYPE GetTransportAudioParameters( 
  15483.             /* [in] */ long Param,
  15484.             /* [out] */ long *pValue) = 0;
  15485.         
  15486.         virtual HRESULT STDMETHODCALLTYPE SetTransportAudioParameters( 
  15487.             /* [in] */ long Param,
  15488.             /* [in] */ long Value) = 0;
  15489.         
  15490.         virtual HRESULT STDMETHODCALLTYPE put_Mode( 
  15491.             /* [in] */ long Mode) = 0;
  15492.         
  15493.         virtual HRESULT STDMETHODCALLTYPE get_Mode( 
  15494.             /* [out] */ long *pMode) = 0;
  15495.         
  15496.         virtual HRESULT STDMETHODCALLTYPE put_Rate( 
  15497.             /* [in] */ double dblRate) = 0;
  15498.         
  15499.         virtual HRESULT STDMETHODCALLTYPE get_Rate( 
  15500.             /* [out] */ double *pdblRate) = 0;
  15501.         
  15502.         virtual HRESULT STDMETHODCALLTYPE GetChase( 
  15503.             /* [out] */ long *pEnabled,
  15504.             /* [out] */ long *pOffset,
  15505.             /* [out] */ HEVENT *phEvent) = 0;
  15506.         
  15507.         virtual HRESULT STDMETHODCALLTYPE SetChase( 
  15508.             /* [in] */ long Enable,
  15509.             /* [in] */ long Offset,
  15510.             /* [in] */ HEVENT hEvent) = 0;
  15511.         
  15512.         virtual HRESULT STDMETHODCALLTYPE GetBump( 
  15513.             /* [out] */ long *pSpeed,
  15514.             /* [out] */ long *pDuration) = 0;
  15515.         
  15516.         virtual HRESULT STDMETHODCALLTYPE SetBump( 
  15517.             /* [in] */ long Speed,
  15518.             /* [in] */ long Duration) = 0;
  15519.         
  15520.         virtual HRESULT STDMETHODCALLTYPE get_AntiClogControl( 
  15521.             /* [out] */ long *pEnabled) = 0;
  15522.         
  15523.         virtual HRESULT STDMETHODCALLTYPE put_AntiClogControl( 
  15524.             /* [in] */ long Enable) = 0;
  15525.         
  15526.         virtual HRESULT STDMETHODCALLTYPE GetEditPropertySet( 
  15527.             /* [in] */ long EditID,
  15528.             /* [out] */ long *pState) = 0;
  15529.         
  15530.         virtual HRESULT STDMETHODCALLTYPE SetEditPropertySet( 
  15531.             /* [out][in] */ long *pEditID,
  15532.             /* [in] */ long State) = 0;
  15533.         
  15534.         virtual HRESULT STDMETHODCALLTYPE GetEditProperty( 
  15535.             /* [in] */ long EditID,
  15536.             /* [in] */ long Param,
  15537.             /* [out] */ long *pValue) = 0;
  15538.         
  15539.         virtual HRESULT STDMETHODCALLTYPE SetEditProperty( 
  15540.             /* [in] */ long EditID,
  15541.             /* [in] */ long Param,
  15542.             /* [in] */ long Value) = 0;
  15543.         
  15544.         virtual HRESULT STDMETHODCALLTYPE get_EditStart( 
  15545.             /* [out] */ long *pValue) = 0;
  15546.         
  15547.         virtual HRESULT STDMETHODCALLTYPE put_EditStart( 
  15548.             /* [in] */ long Value) = 0;
  15549.         
  15550.     };
  15551.     
  15552. #else     /* C style interface */
  15553.  
  15554.     typedef struct IAMExtTransportVtbl
  15555.     {
  15556.         BEGIN_INTERFACE
  15557.         
  15558.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  15559.             IAMExtTransport * This,
  15560.             /* [in] */ REFIID riid,
  15561.             /* [iid_is][out] */ void **ppvObject);
  15562.         
  15563.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  15564.             IAMExtTransport * This);
  15565.         
  15566.         ULONG ( STDMETHODCALLTYPE *Release )( 
  15567.             IAMExtTransport * This);
  15568.         
  15569.         HRESULT ( STDMETHODCALLTYPE *GetCapability )( 
  15570.             IAMExtTransport * This,
  15571.             /* [in] */ long Capability,
  15572.             /* [out] */ long *pValue,
  15573.             /* [out] */ double *pdblValue);
  15574.         
  15575.         HRESULT ( STDMETHODCALLTYPE *put_MediaState )( 
  15576.             IAMExtTransport * This,
  15577.             /* [in] */ long State);
  15578.         
  15579.         HRESULT ( STDMETHODCALLTYPE *get_MediaState )( 
  15580.             IAMExtTransport * This,
  15581.             /* [out] */ long *pState);
  15582.         
  15583.         HRESULT ( STDMETHODCALLTYPE *put_LocalControl )( 
  15584.             IAMExtTransport * This,
  15585.             /* [in] */ long State);
  15586.         
  15587.         HRESULT ( STDMETHODCALLTYPE *get_LocalControl )( 
  15588.             IAMExtTransport * This,
  15589.             /* [out] */ long *pState);
  15590.         
  15591.         HRESULT ( STDMETHODCALLTYPE *GetStatus )( 
  15592.             IAMExtTransport * This,
  15593.             /* [in] */ long StatusItem,
  15594.             /* [out] */ long *pValue);
  15595.         
  15596.         HRESULT ( STDMETHODCALLTYPE *GetTransportBasicParameters )( 
  15597.             IAMExtTransport * This,
  15598.             /* [in] */ long Param,
  15599.             /* [out] */ long *pValue,
  15600.             /* [out] */ LPOLESTR *ppszData);
  15601.         
  15602.         HRESULT ( STDMETHODCALLTYPE *SetTransportBasicParameters )( 
  15603.             IAMExtTransport * This,
  15604.             /* [in] */ long Param,
  15605.             /* [in] */ long Value,
  15606.             /* [in] */ LPCOLESTR pszData);
  15607.         
  15608.         HRESULT ( STDMETHODCALLTYPE *GetTransportVideoParameters )( 
  15609.             IAMExtTransport * This,
  15610.             /* [in] */ long Param,
  15611.             /* [out] */ long *pValue);
  15612.         
  15613.         HRESULT ( STDMETHODCALLTYPE *SetTransportVideoParameters )( 
  15614.             IAMExtTransport * This,
  15615.             /* [in] */ long Param,
  15616.             /* [in] */ long Value);
  15617.         
  15618.         HRESULT ( STDMETHODCALLTYPE *GetTransportAudioParameters )( 
  15619.             IAMExtTransport * This,
  15620.             /* [in] */ long Param,
  15621.             /* [out] */ long *pValue);
  15622.         
  15623.         HRESULT ( STDMETHODCALLTYPE *SetTransportAudioParameters )( 
  15624.             IAMExtTransport * This,
  15625.             /* [in] */ long Param,
  15626.             /* [in] */ long Value);
  15627.         
  15628.         HRESULT ( STDMETHODCALLTYPE *put_Mode )( 
  15629.             IAMExtTransport * This,
  15630.             /* [in] */ long Mode);
  15631.         
  15632.         HRESULT ( STDMETHODCALLTYPE *get_Mode )( 
  15633.             IAMExtTransport * This,
  15634.             /* [out] */ long *pMode);
  15635.         
  15636.         HRESULT ( STDMETHODCALLTYPE *put_Rate )( 
  15637.             IAMExtTransport * This,
  15638.             /* [in] */ double dblRate);
  15639.         
  15640.         HRESULT ( STDMETHODCALLTYPE *get_Rate )( 
  15641.             IAMExtTransport * This,
  15642.             /* [out] */ double *pdblRate);
  15643.         
  15644.         HRESULT ( STDMETHODCALLTYPE *GetChase )( 
  15645.             IAMExtTransport * This,
  15646.             /* [out] */ long *pEnabled,
  15647.             /* [out] */ long *pOffset,
  15648.             /* [out] */ HEVENT *phEvent);
  15649.         
  15650.         HRESULT ( STDMETHODCALLTYPE *SetChase )( 
  15651.             IAMExtTransport * This,
  15652.             /* [in] */ long Enable,
  15653.             /* [in] */ long Offset,
  15654.             /* [in] */ HEVENT hEvent);
  15655.         
  15656.         HRESULT ( STDMETHODCALLTYPE *GetBump )( 
  15657.             IAMExtTransport * This,
  15658.             /* [out] */ long *pSpeed,
  15659.             /* [out] */ long *pDuration);
  15660.         
  15661.         HRESULT ( STDMETHODCALLTYPE *SetBump )( 
  15662.             IAMExtTransport * This,
  15663.             /* [in] */ long Speed,
  15664.             /* [in] */ long Duration);
  15665.         
  15666.         HRESULT ( STDMETHODCALLTYPE *get_AntiClogControl )( 
  15667.             IAMExtTransport * This,
  15668.             /* [out] */ long *pEnabled);
  15669.         
  15670.         HRESULT ( STDMETHODCALLTYPE *put_AntiClogControl )( 
  15671.             IAMExtTransport * This,
  15672.             /* [in] */ long Enable);
  15673.         
  15674.         HRESULT ( STDMETHODCALLTYPE *GetEditPropertySet )( 
  15675.             IAMExtTransport * This,
  15676.             /* [in] */ long EditID,
  15677.             /* [out] */ long *pState);
  15678.         
  15679.         HRESULT ( STDMETHODCALLTYPE *SetEditPropertySet )( 
  15680.             IAMExtTransport * This,
  15681.             /* [out][in] */ long *pEditID,
  15682.             /* [in] */ long State);
  15683.         
  15684.         HRESULT ( STDMETHODCALLTYPE *GetEditProperty )( 
  15685.             IAMExtTransport * This,
  15686.             /* [in] */ long EditID,
  15687.             /* [in] */ long Param,
  15688.             /* [out] */ long *pValue);
  15689.         
  15690.         HRESULT ( STDMETHODCALLTYPE *SetEditProperty )( 
  15691.             IAMExtTransport * This,
  15692.             /* [in] */ long EditID,
  15693.             /* [in] */ long Param,
  15694.             /* [in] */ long Value);
  15695.         
  15696.         HRESULT ( STDMETHODCALLTYPE *get_EditStart )( 
  15697.             IAMExtTransport * This,
  15698.             /* [out] */ long *pValue);
  15699.         
  15700.         HRESULT ( STDMETHODCALLTYPE *put_EditStart )( 
  15701.             IAMExtTransport * This,
  15702.             /* [in] */ long Value);
  15703.         
  15704.         END_INTERFACE
  15705.     } IAMExtTransportVtbl;
  15706.  
  15707.     interface IAMExtTransport
  15708.     {
  15709.         CONST_VTBL struct IAMExtTransportVtbl *lpVtbl;
  15710.     };
  15711.  
  15712.     
  15713.  
  15714. #ifdef COBJMACROS
  15715.  
  15716.  
  15717. #define IAMExtTransport_QueryInterface(This,riid,ppvObject)    \
  15718.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  15719.  
  15720. #define IAMExtTransport_AddRef(This)    \
  15721.     (This)->lpVtbl -> AddRef(This)
  15722.  
  15723. #define IAMExtTransport_Release(This)    \
  15724.     (This)->lpVtbl -> Release(This)
  15725.  
  15726.  
  15727. #define IAMExtTransport_GetCapability(This,Capability,pValue,pdblValue)    \
  15728.     (This)->lpVtbl -> GetCapability(This,Capability,pValue,pdblValue)
  15729.  
  15730. #define IAMExtTransport_put_MediaState(This,State)    \
  15731.     (This)->lpVtbl -> put_MediaState(This,State)
  15732.  
  15733. #define IAMExtTransport_get_MediaState(This,pState)    \
  15734.     (This)->lpVtbl -> get_MediaState(This,pState)
  15735.  
  15736. #define IAMExtTransport_put_LocalControl(This,State)    \
  15737.     (This)->lpVtbl -> put_LocalControl(This,State)
  15738.  
  15739. #define IAMExtTransport_get_LocalControl(This,pState)    \
  15740.     (This)->lpVtbl -> get_LocalControl(This,pState)
  15741.  
  15742. #define IAMExtTransport_GetStatus(This,StatusItem,pValue)    \
  15743.     (This)->lpVtbl -> GetStatus(This,StatusItem,pValue)
  15744.  
  15745. #define IAMExtTransport_GetTransportBasicParameters(This,Param,pValue,ppszData)    \
  15746.     (This)->lpVtbl -> GetTransportBasicParameters(This,Param,pValue,ppszData)
  15747.  
  15748. #define IAMExtTransport_SetTransportBasicParameters(This,Param,Value,pszData)    \
  15749.     (This)->lpVtbl -> SetTransportBasicParameters(This,Param,Value,pszData)
  15750.  
  15751. #define IAMExtTransport_GetTransportVideoParameters(This,Param,pValue)    \
  15752.     (This)->lpVtbl -> GetTransportVideoParameters(This,Param,pValue)
  15753.  
  15754. #define IAMExtTransport_SetTransportVideoParameters(This,Param,Value)    \
  15755.     (This)->lpVtbl -> SetTransportVideoParameters(This,Param,Value)
  15756.  
  15757. #define IAMExtTransport_GetTransportAudioParameters(This,Param,pValue)    \
  15758.     (This)->lpVtbl -> GetTransportAudioParameters(This,Param,pValue)
  15759.  
  15760. #define IAMExtTransport_SetTransportAudioParameters(This,Param,Value)    \
  15761.     (This)->lpVtbl -> SetTransportAudioParameters(This,Param,Value)
  15762.  
  15763. #define IAMExtTransport_put_Mode(This,Mode)    \
  15764.     (This)->lpVtbl -> put_Mode(This,Mode)
  15765.  
  15766. #define IAMExtTransport_get_Mode(This,pMode)    \
  15767.     (This)->lpVtbl -> get_Mode(This,pMode)
  15768.  
  15769. #define IAMExtTransport_put_Rate(This,dblRate)    \
  15770.     (This)->lpVtbl -> put_Rate(This,dblRate)
  15771.  
  15772. #define IAMExtTransport_get_Rate(This,pdblRate)    \
  15773.     (This)->lpVtbl -> get_Rate(This,pdblRate)
  15774.  
  15775. #define IAMExtTransport_GetChase(This,pEnabled,pOffset,phEvent)    \
  15776.     (This)->lpVtbl -> GetChase(This,pEnabled,pOffset,phEvent)
  15777.  
  15778. #define IAMExtTransport_SetChase(This,Enable,Offset,hEvent)    \
  15779.     (This)->lpVtbl -> SetChase(This,Enable,Offset,hEvent)
  15780.  
  15781. #define IAMExtTransport_GetBump(This,pSpeed,pDuration)    \
  15782.     (This)->lpVtbl -> GetBump(This,pSpeed,pDuration)
  15783.  
  15784. #define IAMExtTransport_SetBump(This,Speed,Duration)    \
  15785.     (This)->lpVtbl -> SetBump(This,Speed,Duration)
  15786.  
  15787. #define IAMExtTransport_get_AntiClogControl(This,pEnabled)    \
  15788.     (This)->lpVtbl -> get_AntiClogControl(This,pEnabled)
  15789.  
  15790. #define IAMExtTransport_put_AntiClogControl(This,Enable)    \
  15791.     (This)->lpVtbl -> put_AntiClogControl(This,Enable)
  15792.  
  15793. #define IAMExtTransport_GetEditPropertySet(This,EditID,pState)    \
  15794.     (This)->lpVtbl -> GetEditPropertySet(This,EditID,pState)
  15795.  
  15796. #define IAMExtTransport_SetEditPropertySet(This,pEditID,State)    \
  15797.     (This)->lpVtbl -> SetEditPropertySet(This,pEditID,State)
  15798.  
  15799. #define IAMExtTransport_GetEditProperty(This,EditID,Param,pValue)    \
  15800.     (This)->lpVtbl -> GetEditProperty(This,EditID,Param,pValue)
  15801.  
  15802. #define IAMExtTransport_SetEditProperty(This,EditID,Param,Value)    \
  15803.     (This)->lpVtbl -> SetEditProperty(This,EditID,Param,Value)
  15804.  
  15805. #define IAMExtTransport_get_EditStart(This,pValue)    \
  15806.     (This)->lpVtbl -> get_EditStart(This,pValue)
  15807.  
  15808. #define IAMExtTransport_put_EditStart(This,Value)    \
  15809.     (This)->lpVtbl -> put_EditStart(This,Value)
  15810.  
  15811. #endif /* COBJMACROS */
  15812.  
  15813.  
  15814. #endif     /* C style interface */
  15815.  
  15816.  
  15817.  
  15818. HRESULT STDMETHODCALLTYPE IAMExtTransport_GetCapability_Proxy( 
  15819.     IAMExtTransport * This,
  15820.     /* [in] */ long Capability,
  15821.     /* [out] */ long *pValue,
  15822.     /* [out] */ double *pdblValue);
  15823.  
  15824.  
  15825. void __RPC_STUB IAMExtTransport_GetCapability_Stub(
  15826.     IRpcStubBuffer *This,
  15827.     IRpcChannelBuffer *_pRpcChannelBuffer,
  15828.     PRPC_MESSAGE _pRpcMessage,
  15829.     DWORD *_pdwStubPhase);
  15830.  
  15831.  
  15832. HRESULT STDMETHODCALLTYPE IAMExtTransport_put_MediaState_Proxy( 
  15833.     IAMExtTransport * This,
  15834.     /* [in] */ long State);
  15835.  
  15836.  
  15837. void __RPC_STUB IAMExtTransport_put_MediaState_Stub(
  15838.     IRpcStubBuffer *This,
  15839.     IRpcChannelBuffer *_pRpcChannelBuffer,
  15840.     PRPC_MESSAGE _pRpcMessage,
  15841.     DWORD *_pdwStubPhase);
  15842.  
  15843.  
  15844. HRESULT STDMETHODCALLTYPE IAMExtTransport_get_MediaState_Proxy( 
  15845.     IAMExtTransport * This,
  15846.     /* [out] */ long *pState);
  15847.  
  15848.  
  15849. void __RPC_STUB IAMExtTransport_get_MediaState_Stub(
  15850.     IRpcStubBuffer *This,
  15851.     IRpcChannelBuffer *_pRpcChannelBuffer,
  15852.     PRPC_MESSAGE _pRpcMessage,
  15853.     DWORD *_pdwStubPhase);
  15854.  
  15855.  
  15856. HRESULT STDMETHODCALLTYPE IAMExtTransport_put_LocalControl_Proxy( 
  15857.     IAMExtTransport * This,
  15858.     /* [in] */ long State);
  15859.  
  15860.  
  15861. void __RPC_STUB IAMExtTransport_put_LocalControl_Stub(
  15862.     IRpcStubBuffer *This,
  15863.     IRpcChannelBuffer *_pRpcChannelBuffer,
  15864.     PRPC_MESSAGE _pRpcMessage,
  15865.     DWORD *_pdwStubPhase);
  15866.  
  15867.  
  15868. HRESULT STDMETHODCALLTYPE IAMExtTransport_get_LocalControl_Proxy( 
  15869.     IAMExtTransport * This,
  15870.     /* [out] */ long *pState);
  15871.  
  15872.  
  15873. void __RPC_STUB IAMExtTransport_get_LocalControl_Stub(
  15874.     IRpcStubBuffer *This,
  15875.     IRpcChannelBuffer *_pRpcChannelBuffer,
  15876.     PRPC_MESSAGE _pRpcMessage,
  15877.     DWORD *_pdwStubPhase);
  15878.  
  15879.  
  15880. HRESULT STDMETHODCALLTYPE IAMExtTransport_GetStatus_Proxy( 
  15881.     IAMExtTransport * This,
  15882.     /* [in] */ long StatusItem,
  15883.     /* [out] */ long *pValue);
  15884.  
  15885.  
  15886. void __RPC_STUB IAMExtTransport_GetStatus_Stub(
  15887.     IRpcStubBuffer *This,
  15888.     IRpcChannelBuffer *_pRpcChannelBuffer,
  15889.     PRPC_MESSAGE _pRpcMessage,
  15890.     DWORD *_pdwStubPhase);
  15891.  
  15892.  
  15893. HRESULT STDMETHODCALLTYPE IAMExtTransport_GetTransportBasicParameters_Proxy( 
  15894.     IAMExtTransport * This,
  15895.     /* [in] */ long Param,
  15896.     /* [out] */ long *pValue,
  15897.     /* [out] */ LPOLESTR *ppszData);
  15898.  
  15899.  
  15900. void __RPC_STUB IAMExtTransport_GetTransportBasicParameters_Stub(
  15901.     IRpcStubBuffer *This,
  15902.     IRpcChannelBuffer *_pRpcChannelBuffer,
  15903.     PRPC_MESSAGE _pRpcMessage,
  15904.     DWORD *_pdwStubPhase);
  15905.  
  15906.  
  15907. HRESULT STDMETHODCALLTYPE IAMExtTransport_SetTransportBasicParameters_Proxy( 
  15908.     IAMExtTransport * This,
  15909.     /* [in] */ long Param,
  15910.     /* [in] */ long Value,
  15911.     /* [in] */ LPCOLESTR pszData);
  15912.  
  15913.  
  15914. void __RPC_STUB IAMExtTransport_SetTransportBasicParameters_Stub(
  15915.     IRpcStubBuffer *This,
  15916.     IRpcChannelBuffer *_pRpcChannelBuffer,
  15917.     PRPC_MESSAGE _pRpcMessage,
  15918.     DWORD *_pdwStubPhase);
  15919.  
  15920.  
  15921. HRESULT STDMETHODCALLTYPE IAMExtTransport_GetTransportVideoParameters_Proxy( 
  15922.     IAMExtTransport * This,
  15923.     /* [in] */ long Param,
  15924.     /* [out] */ long *pValue);
  15925.  
  15926.  
  15927. void __RPC_STUB IAMExtTransport_GetTransportVideoParameters_Stub(
  15928.     IRpcStubBuffer *This,
  15929.     IRpcChannelBuffer *_pRpcChannelBuffer,
  15930.     PRPC_MESSAGE _pRpcMessage,
  15931.     DWORD *_pdwStubPhase);
  15932.  
  15933.  
  15934. HRESULT STDMETHODCALLTYPE IAMExtTransport_SetTransportVideoParameters_Proxy( 
  15935.     IAMExtTransport * This,
  15936.     /* [in] */ long Param,
  15937.     /* [in] */ long Value);
  15938.  
  15939.  
  15940. void __RPC_STUB IAMExtTransport_SetTransportVideoParameters_Stub(
  15941.     IRpcStubBuffer *This,
  15942.     IRpcChannelBuffer *_pRpcChannelBuffer,
  15943.     PRPC_MESSAGE _pRpcMessage,
  15944.     DWORD *_pdwStubPhase);
  15945.  
  15946.  
  15947. HRESULT STDMETHODCALLTYPE IAMExtTransport_GetTransportAudioParameters_Proxy( 
  15948.     IAMExtTransport * This,
  15949.     /* [in] */ long Param,
  15950.     /* [out] */ long *pValue);
  15951.  
  15952.  
  15953. void __RPC_STUB IAMExtTransport_GetTransportAudioParameters_Stub(
  15954.     IRpcStubBuffer *This,
  15955.     IRpcChannelBuffer *_pRpcChannelBuffer,
  15956.     PRPC_MESSAGE _pRpcMessage,
  15957.     DWORD *_pdwStubPhase);
  15958.  
  15959.  
  15960. HRESULT STDMETHODCALLTYPE IAMExtTransport_SetTransportAudioParameters_Proxy( 
  15961.     IAMExtTransport * This,
  15962.     /* [in] */ long Param,
  15963.     /* [in] */ long Value);
  15964.  
  15965.  
  15966. void __RPC_STUB IAMExtTransport_SetTransportAudioParameters_Stub(
  15967.     IRpcStubBuffer *This,
  15968.     IRpcChannelBuffer *_pRpcChannelBuffer,
  15969.     PRPC_MESSAGE _pRpcMessage,
  15970.     DWORD *_pdwStubPhase);
  15971.  
  15972.  
  15973. HRESULT STDMETHODCALLTYPE IAMExtTransport_put_Mode_Proxy( 
  15974.     IAMExtTransport * This,
  15975.     /* [in] */ long Mode);
  15976.  
  15977.  
  15978. void __RPC_STUB IAMExtTransport_put_Mode_Stub(
  15979.     IRpcStubBuffer *This,
  15980.     IRpcChannelBuffer *_pRpcChannelBuffer,
  15981.     PRPC_MESSAGE _pRpcMessage,
  15982.     DWORD *_pdwStubPhase);
  15983.  
  15984.  
  15985. HRESULT STDMETHODCALLTYPE IAMExtTransport_get_Mode_Proxy( 
  15986.     IAMExtTransport * This,
  15987.     /* [out] */ long *pMode);
  15988.  
  15989.  
  15990. void __RPC_STUB IAMExtTransport_get_Mode_Stub(
  15991.     IRpcStubBuffer *This,
  15992.     IRpcChannelBuffer *_pRpcChannelBuffer,
  15993.     PRPC_MESSAGE _pRpcMessage,
  15994.     DWORD *_pdwStubPhase);
  15995.  
  15996.  
  15997. HRESULT STDMETHODCALLTYPE IAMExtTransport_put_Rate_Proxy( 
  15998.     IAMExtTransport * This,
  15999.     /* [in] */ double dblRate);
  16000.  
  16001.  
  16002. void __RPC_STUB IAMExtTransport_put_Rate_Stub(
  16003.     IRpcStubBuffer *This,
  16004.     IRpcChannelBuffer *_pRpcChannelBuffer,
  16005.     PRPC_MESSAGE _pRpcMessage,
  16006.     DWORD *_pdwStubPhase);
  16007.  
  16008.  
  16009. HRESULT STDMETHODCALLTYPE IAMExtTransport_get_Rate_Proxy( 
  16010.     IAMExtTransport * This,
  16011.     /* [out] */ double *pdblRate);
  16012.  
  16013.  
  16014. void __RPC_STUB IAMExtTransport_get_Rate_Stub(
  16015.     IRpcStubBuffer *This,
  16016.     IRpcChannelBuffer *_pRpcChannelBuffer,
  16017.     PRPC_MESSAGE _pRpcMessage,
  16018.     DWORD *_pdwStubPhase);
  16019.  
  16020.  
  16021. HRESULT STDMETHODCALLTYPE IAMExtTransport_GetChase_Proxy( 
  16022.     IAMExtTransport * This,
  16023.     /* [out] */ long *pEnabled,
  16024.     /* [out] */ long *pOffset,
  16025.     /* [out] */ HEVENT *phEvent);
  16026.  
  16027.  
  16028. void __RPC_STUB IAMExtTransport_GetChase_Stub(
  16029.     IRpcStubBuffer *This,
  16030.     IRpcChannelBuffer *_pRpcChannelBuffer,
  16031.     PRPC_MESSAGE _pRpcMessage,
  16032.     DWORD *_pdwStubPhase);
  16033.  
  16034.  
  16035. HRESULT STDMETHODCALLTYPE IAMExtTransport_SetChase_Proxy( 
  16036.     IAMExtTransport * This,
  16037.     /* [in] */ long Enable,
  16038.     /* [in] */ long Offset,
  16039.     /* [in] */ HEVENT hEvent);
  16040.  
  16041.  
  16042. void __RPC_STUB IAMExtTransport_SetChase_Stub(
  16043.     IRpcStubBuffer *This,
  16044.     IRpcChannelBuffer *_pRpcChannelBuffer,
  16045.     PRPC_MESSAGE _pRpcMessage,
  16046.     DWORD *_pdwStubPhase);
  16047.  
  16048.  
  16049. HRESULT STDMETHODCALLTYPE IAMExtTransport_GetBump_Proxy( 
  16050.     IAMExtTransport * This,
  16051.     /* [out] */ long *pSpeed,
  16052.     /* [out] */ long *pDuration);
  16053.  
  16054.  
  16055. void __RPC_STUB IAMExtTransport_GetBump_Stub(
  16056.     IRpcStubBuffer *This,
  16057.     IRpcChannelBuffer *_pRpcChannelBuffer,
  16058.     PRPC_MESSAGE _pRpcMessage,
  16059.     DWORD *_pdwStubPhase);
  16060.  
  16061.  
  16062. HRESULT STDMETHODCALLTYPE IAMExtTransport_SetBump_Proxy( 
  16063.     IAMExtTransport * This,
  16064.     /* [in] */ long Speed,
  16065.     /* [in] */ long Duration);
  16066.  
  16067.  
  16068. void __RPC_STUB IAMExtTransport_SetBump_Stub(
  16069.     IRpcStubBuffer *This,
  16070.     IRpcChannelBuffer *_pRpcChannelBuffer,
  16071.     PRPC_MESSAGE _pRpcMessage,
  16072.     DWORD *_pdwStubPhase);
  16073.  
  16074.  
  16075. HRESULT STDMETHODCALLTYPE IAMExtTransport_get_AntiClogControl_Proxy( 
  16076.     IAMExtTransport * This,
  16077.     /* [out] */ long *pEnabled);
  16078.  
  16079.  
  16080. void __RPC_STUB IAMExtTransport_get_AntiClogControl_Stub(
  16081.     IRpcStubBuffer *This,
  16082.     IRpcChannelBuffer *_pRpcChannelBuffer,
  16083.     PRPC_MESSAGE _pRpcMessage,
  16084.     DWORD *_pdwStubPhase);
  16085.  
  16086.  
  16087. HRESULT STDMETHODCALLTYPE IAMExtTransport_put_AntiClogControl_Proxy( 
  16088.     IAMExtTransport * This,
  16089.     /* [in] */ long Enable);
  16090.  
  16091.  
  16092. void __RPC_STUB IAMExtTransport_put_AntiClogControl_Stub(
  16093.     IRpcStubBuffer *This,
  16094.     IRpcChannelBuffer *_pRpcChannelBuffer,
  16095.     PRPC_MESSAGE _pRpcMessage,
  16096.     DWORD *_pdwStubPhase);
  16097.  
  16098.  
  16099. HRESULT STDMETHODCALLTYPE IAMExtTransport_GetEditPropertySet_Proxy( 
  16100.     IAMExtTransport * This,
  16101.     /* [in] */ long EditID,
  16102.     /* [out] */ long *pState);
  16103.  
  16104.  
  16105. void __RPC_STUB IAMExtTransport_GetEditPropertySet_Stub(
  16106.     IRpcStubBuffer *This,
  16107.     IRpcChannelBuffer *_pRpcChannelBuffer,
  16108.     PRPC_MESSAGE _pRpcMessage,
  16109.     DWORD *_pdwStubPhase);
  16110.  
  16111.  
  16112. HRESULT STDMETHODCALLTYPE IAMExtTransport_SetEditPropertySet_Proxy( 
  16113.     IAMExtTransport * This,
  16114.     /* [out][in] */ long *pEditID,
  16115.     /* [in] */ long State);
  16116.  
  16117.  
  16118. void __RPC_STUB IAMExtTransport_SetEditPropertySet_Stub(
  16119.     IRpcStubBuffer *This,
  16120.     IRpcChannelBuffer *_pRpcChannelBuffer,
  16121.     PRPC_MESSAGE _pRpcMessage,
  16122.     DWORD *_pdwStubPhase);
  16123.  
  16124.  
  16125. HRESULT STDMETHODCALLTYPE IAMExtTransport_GetEditProperty_Proxy( 
  16126.     IAMExtTransport * This,
  16127.     /* [in] */ long EditID,
  16128.     /* [in] */ long Param,
  16129.     /* [out] */ long *pValue);
  16130.  
  16131.  
  16132. void __RPC_STUB IAMExtTransport_GetEditProperty_Stub(
  16133.     IRpcStubBuffer *This,
  16134.     IRpcChannelBuffer *_pRpcChannelBuffer,
  16135.     PRPC_MESSAGE _pRpcMessage,
  16136.     DWORD *_pdwStubPhase);
  16137.  
  16138.  
  16139. HRESULT STDMETHODCALLTYPE IAMExtTransport_SetEditProperty_Proxy( 
  16140.     IAMExtTransport * This,
  16141.     /* [in] */ long EditID,
  16142.     /* [in] */ long Param,
  16143.     /* [in] */ long Value);
  16144.  
  16145.  
  16146. void __RPC_STUB IAMExtTransport_SetEditProperty_Stub(
  16147.     IRpcStubBuffer *This,
  16148.     IRpcChannelBuffer *_pRpcChannelBuffer,
  16149.     PRPC_MESSAGE _pRpcMessage,
  16150.     DWORD *_pdwStubPhase);
  16151.  
  16152.  
  16153. HRESULT STDMETHODCALLTYPE IAMExtTransport_get_EditStart_Proxy( 
  16154.     IAMExtTransport * This,
  16155.     /* [out] */ long *pValue);
  16156.  
  16157.  
  16158. void __RPC_STUB IAMExtTransport_get_EditStart_Stub(
  16159.     IRpcStubBuffer *This,
  16160.     IRpcChannelBuffer *_pRpcChannelBuffer,
  16161.     PRPC_MESSAGE _pRpcMessage,
  16162.     DWORD *_pdwStubPhase);
  16163.  
  16164.  
  16165. HRESULT STDMETHODCALLTYPE IAMExtTransport_put_EditStart_Proxy( 
  16166.     IAMExtTransport * This,
  16167.     /* [in] */ long Value);
  16168.  
  16169.  
  16170. void __RPC_STUB IAMExtTransport_put_EditStart_Stub(
  16171.     IRpcStubBuffer *This,
  16172.     IRpcChannelBuffer *_pRpcChannelBuffer,
  16173.     PRPC_MESSAGE _pRpcMessage,
  16174.     DWORD *_pdwStubPhase);
  16175.  
  16176.  
  16177.  
  16178. #endif     /* __IAMExtTransport_INTERFACE_DEFINED__ */
  16179.  
  16180.  
  16181. /* interface __MIDL_itf_strmif_0324 */
  16182. /* [local] */ 
  16183.  
  16184. typedef IAMExtTransport *PIAMEXTTRANSPORT;
  16185.  
  16186. #if 0
  16187. /* the following is what MIDL knows how to remote */
  16188. typedef struct tagTIMECODE
  16189.     {
  16190.     WORD wFrameRate;
  16191.     WORD wFrameFract;
  16192.     DWORD dwFrames;
  16193.     }     TIMECODE;
  16194.  
  16195. #else /* 0 */
  16196. #ifndef TIMECODE_DEFINED
  16197. #define TIMECODE_DEFINED
  16198. typedef union _timecode {
  16199.    struct {
  16200.      WORD   wFrameRate;
  16201.      WORD   wFrameFract;
  16202.      DWORD  dwFrames;
  16203.      };
  16204.    DWORDLONG  qw;
  16205.    } TIMECODE;
  16206.  
  16207. #endif /* TIMECODE_DEFINED */
  16208. #endif /* 0 */
  16209. typedef TIMECODE *PTIMECODE;
  16210.  
  16211. typedef struct tagTIMECODE_SAMPLE
  16212.     {
  16213.     LONGLONG qwTick;
  16214.     TIMECODE timecode;
  16215.     DWORD dwUser;
  16216.     DWORD dwFlags;
  16217.     }     TIMECODE_SAMPLE;
  16218.  
  16219. typedef TIMECODE_SAMPLE *PTIMECODE_SAMPLE;
  16220.  
  16221.  
  16222.  
  16223. extern RPC_IF_HANDLE __MIDL_itf_strmif_0324_v0_0_c_ifspec;
  16224. extern RPC_IF_HANDLE __MIDL_itf_strmif_0324_v0_0_s_ifspec;
  16225.  
  16226. #ifndef __IAMTimecodeReader_INTERFACE_DEFINED__
  16227. #define __IAMTimecodeReader_INTERFACE_DEFINED__
  16228.  
  16229. /* interface IAMTimecodeReader */
  16230. /* [unique][uuid][object] */ 
  16231.  
  16232.  
  16233. EXTERN_C const IID IID_IAMTimecodeReader;
  16234.  
  16235. #if defined(__cplusplus) && !defined(CINTERFACE)
  16236.     
  16237.     MIDL_INTERFACE("9B496CE1-811B-11cf-8C77-00AA006B6814")
  16238.     IAMTimecodeReader : public IUnknown
  16239.     {
  16240.     public:
  16241.         virtual HRESULT STDMETHODCALLTYPE GetTCRMode( 
  16242.             /* [in] */ long Param,
  16243.             /* [out] */ long *pValue) = 0;
  16244.         
  16245.         virtual HRESULT STDMETHODCALLTYPE SetTCRMode( 
  16246.             /* [in] */ long Param,
  16247.             /* [in] */ long Value) = 0;
  16248.         
  16249.         virtual HRESULT STDMETHODCALLTYPE put_VITCLine( 
  16250.             /* [in] */ long Line) = 0;
  16251.         
  16252.         virtual HRESULT STDMETHODCALLTYPE get_VITCLine( 
  16253.             /* [out] */ long *pLine) = 0;
  16254.         
  16255.         virtual HRESULT STDMETHODCALLTYPE GetTimecode( 
  16256.             /* [out] */ PTIMECODE_SAMPLE pTimecodeSample) = 0;
  16257.         
  16258.     };
  16259.     
  16260. #else     /* C style interface */
  16261.  
  16262.     typedef struct IAMTimecodeReaderVtbl
  16263.     {
  16264.         BEGIN_INTERFACE
  16265.         
  16266.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  16267.             IAMTimecodeReader * This,
  16268.             /* [in] */ REFIID riid,
  16269.             /* [iid_is][out] */ void **ppvObject);
  16270.         
  16271.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  16272.             IAMTimecodeReader * This);
  16273.         
  16274.         ULONG ( STDMETHODCALLTYPE *Release )( 
  16275.             IAMTimecodeReader * This);
  16276.         
  16277.         HRESULT ( STDMETHODCALLTYPE *GetTCRMode )( 
  16278.             IAMTimecodeReader * This,
  16279.             /* [in] */ long Param,
  16280.             /* [out] */ long *pValue);
  16281.         
  16282.         HRESULT ( STDMETHODCALLTYPE *SetTCRMode )( 
  16283.             IAMTimecodeReader * This,
  16284.             /* [in] */ long Param,
  16285.             /* [in] */ long Value);
  16286.         
  16287.         HRESULT ( STDMETHODCALLTYPE *put_VITCLine )( 
  16288.             IAMTimecodeReader * This,
  16289.             /* [in] */ long Line);
  16290.         
  16291.         HRESULT ( STDMETHODCALLTYPE *get_VITCLine )( 
  16292.             IAMTimecodeReader * This,
  16293.             /* [out] */ long *pLine);
  16294.         
  16295.         HRESULT ( STDMETHODCALLTYPE *GetTimecode )( 
  16296.             IAMTimecodeReader * This,
  16297.             /* [out] */ PTIMECODE_SAMPLE pTimecodeSample);
  16298.         
  16299.         END_INTERFACE
  16300.     } IAMTimecodeReaderVtbl;
  16301.  
  16302.     interface IAMTimecodeReader
  16303.     {
  16304.         CONST_VTBL struct IAMTimecodeReaderVtbl *lpVtbl;
  16305.     };
  16306.  
  16307.     
  16308.  
  16309. #ifdef COBJMACROS
  16310.  
  16311.  
  16312. #define IAMTimecodeReader_QueryInterface(This,riid,ppvObject)    \
  16313.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  16314.  
  16315. #define IAMTimecodeReader_AddRef(This)    \
  16316.     (This)->lpVtbl -> AddRef(This)
  16317.  
  16318. #define IAMTimecodeReader_Release(This)    \
  16319.     (This)->lpVtbl -> Release(This)
  16320.  
  16321.  
  16322. #define IAMTimecodeReader_GetTCRMode(This,Param,pValue)    \
  16323.     (This)->lpVtbl -> GetTCRMode(This,Param,pValue)
  16324.  
  16325. #define IAMTimecodeReader_SetTCRMode(This,Param,Value)    \
  16326.     (This)->lpVtbl -> SetTCRMode(This,Param,Value)
  16327.  
  16328. #define IAMTimecodeReader_put_VITCLine(This,Line)    \
  16329.     (This)->lpVtbl -> put_VITCLine(This,Line)
  16330.  
  16331. #define IAMTimecodeReader_get_VITCLine(This,pLine)    \
  16332.     (This)->lpVtbl -> get_VITCLine(This,pLine)
  16333.  
  16334. #define IAMTimecodeReader_GetTimecode(This,pTimecodeSample)    \
  16335.     (This)->lpVtbl -> GetTimecode(This,pTimecodeSample)
  16336.  
  16337. #endif /* COBJMACROS */
  16338.  
  16339.  
  16340. #endif     /* C style interface */
  16341.  
  16342.  
  16343.  
  16344. HRESULT STDMETHODCALLTYPE IAMTimecodeReader_GetTCRMode_Proxy( 
  16345.     IAMTimecodeReader * This,
  16346.     /* [in] */ long Param,
  16347.     /* [out] */ long *pValue);
  16348.  
  16349.  
  16350. void __RPC_STUB IAMTimecodeReader_GetTCRMode_Stub(
  16351.     IRpcStubBuffer *This,
  16352.     IRpcChannelBuffer *_pRpcChannelBuffer,
  16353.     PRPC_MESSAGE _pRpcMessage,
  16354.     DWORD *_pdwStubPhase);
  16355.  
  16356.  
  16357. HRESULT STDMETHODCALLTYPE IAMTimecodeReader_SetTCRMode_Proxy( 
  16358.     IAMTimecodeReader * This,
  16359.     /* [in] */ long Param,
  16360.     /* [in] */ long Value);
  16361.  
  16362.  
  16363. void __RPC_STUB IAMTimecodeReader_SetTCRMode_Stub(
  16364.     IRpcStubBuffer *This,
  16365.     IRpcChannelBuffer *_pRpcChannelBuffer,
  16366.     PRPC_MESSAGE _pRpcMessage,
  16367.     DWORD *_pdwStubPhase);
  16368.  
  16369.  
  16370. HRESULT STDMETHODCALLTYPE IAMTimecodeReader_put_VITCLine_Proxy( 
  16371.     IAMTimecodeReader * This,
  16372.     /* [in] */ long Line);
  16373.  
  16374.  
  16375. void __RPC_STUB IAMTimecodeReader_put_VITCLine_Stub(
  16376.     IRpcStubBuffer *This,
  16377.     IRpcChannelBuffer *_pRpcChannelBuffer,
  16378.     PRPC_MESSAGE _pRpcMessage,
  16379.     DWORD *_pdwStubPhase);
  16380.  
  16381.  
  16382. HRESULT STDMETHODCALLTYPE IAMTimecodeReader_get_VITCLine_Proxy( 
  16383.     IAMTimecodeReader * This,
  16384.     /* [out] */ long *pLine);
  16385.  
  16386.  
  16387. void __RPC_STUB IAMTimecodeReader_get_VITCLine_Stub(
  16388.     IRpcStubBuffer *This,
  16389.     IRpcChannelBuffer *_pRpcChannelBuffer,
  16390.     PRPC_MESSAGE _pRpcMessage,
  16391.     DWORD *_pdwStubPhase);
  16392.  
  16393.  
  16394. HRESULT STDMETHODCALLTYPE IAMTimecodeReader_GetTimecode_Proxy( 
  16395.     IAMTimecodeReader * This,
  16396.     /* [out] */ PTIMECODE_SAMPLE pTimecodeSample);
  16397.  
  16398.  
  16399. void __RPC_STUB IAMTimecodeReader_GetTimecode_Stub(
  16400.     IRpcStubBuffer *This,
  16401.     IRpcChannelBuffer *_pRpcChannelBuffer,
  16402.     PRPC_MESSAGE _pRpcMessage,
  16403.     DWORD *_pdwStubPhase);
  16404.  
  16405.  
  16406.  
  16407. #endif     /* __IAMTimecodeReader_INTERFACE_DEFINED__ */
  16408.  
  16409.  
  16410. /* interface __MIDL_itf_strmif_0325 */
  16411. /* [local] */ 
  16412.  
  16413. typedef IAMTimecodeReader *PIAMTIMECODEREADER;
  16414.  
  16415.  
  16416.  
  16417. extern RPC_IF_HANDLE __MIDL_itf_strmif_0325_v0_0_c_ifspec;
  16418. extern RPC_IF_HANDLE __MIDL_itf_strmif_0325_v0_0_s_ifspec;
  16419.  
  16420. #ifndef __IAMTimecodeGenerator_INTERFACE_DEFINED__
  16421. #define __IAMTimecodeGenerator_INTERFACE_DEFINED__
  16422.  
  16423. /* interface IAMTimecodeGenerator */
  16424. /* [unique][uuid][object] */ 
  16425.  
  16426.  
  16427. EXTERN_C const IID IID_IAMTimecodeGenerator;
  16428.  
  16429. #if defined(__cplusplus) && !defined(CINTERFACE)
  16430.     
  16431.     MIDL_INTERFACE("9B496CE0-811B-11cf-8C77-00AA006B6814")
  16432.     IAMTimecodeGenerator : public IUnknown
  16433.     {
  16434.     public:
  16435.         virtual HRESULT STDMETHODCALLTYPE GetTCGMode( 
  16436.             /* [in] */ long Param,
  16437.             /* [out] */ long *pValue) = 0;
  16438.         
  16439.         virtual HRESULT STDMETHODCALLTYPE SetTCGMode( 
  16440.             /* [in] */ long Param,
  16441.             /* [in] */ long Value) = 0;
  16442.         
  16443.         virtual HRESULT STDMETHODCALLTYPE put_VITCLine( 
  16444.             /* [in] */ long Line) = 0;
  16445.         
  16446.         virtual HRESULT STDMETHODCALLTYPE get_VITCLine( 
  16447.             /* [out] */ long *pLine) = 0;
  16448.         
  16449.         virtual HRESULT STDMETHODCALLTYPE SetTimecode( 
  16450.             /* [in] */ PTIMECODE_SAMPLE pTimecodeSample) = 0;
  16451.         
  16452.         virtual HRESULT STDMETHODCALLTYPE GetTimecode( 
  16453.             /* [out] */ PTIMECODE_SAMPLE pTimecodeSample) = 0;
  16454.         
  16455.     };
  16456.     
  16457. #else     /* C style interface */
  16458.  
  16459.     typedef struct IAMTimecodeGeneratorVtbl
  16460.     {
  16461.         BEGIN_INTERFACE
  16462.         
  16463.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  16464.             IAMTimecodeGenerator * This,
  16465.             /* [in] */ REFIID riid,
  16466.             /* [iid_is][out] */ void **ppvObject);
  16467.         
  16468.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  16469.             IAMTimecodeGenerator * This);
  16470.         
  16471.         ULONG ( STDMETHODCALLTYPE *Release )( 
  16472.             IAMTimecodeGenerator * This);
  16473.         
  16474.         HRESULT ( STDMETHODCALLTYPE *GetTCGMode )( 
  16475.             IAMTimecodeGenerator * This,
  16476.             /* [in] */ long Param,
  16477.             /* [out] */ long *pValue);
  16478.         
  16479.         HRESULT ( STDMETHODCALLTYPE *SetTCGMode )( 
  16480.             IAMTimecodeGenerator * This,
  16481.             /* [in] */ long Param,
  16482.             /* [in] */ long Value);
  16483.         
  16484.         HRESULT ( STDMETHODCALLTYPE *put_VITCLine )( 
  16485.             IAMTimecodeGenerator * This,
  16486.             /* [in] */ long Line);
  16487.         
  16488.         HRESULT ( STDMETHODCALLTYPE *get_VITCLine )( 
  16489.             IAMTimecodeGenerator * This,
  16490.             /* [out] */ long *pLine);
  16491.         
  16492.         HRESULT ( STDMETHODCALLTYPE *SetTimecode )( 
  16493.             IAMTimecodeGenerator * This,
  16494.             /* [in] */ PTIMECODE_SAMPLE pTimecodeSample);
  16495.         
  16496.         HRESULT ( STDMETHODCALLTYPE *GetTimecode )( 
  16497.             IAMTimecodeGenerator * This,
  16498.             /* [out] */ PTIMECODE_SAMPLE pTimecodeSample);
  16499.         
  16500.         END_INTERFACE
  16501.     } IAMTimecodeGeneratorVtbl;
  16502.  
  16503.     interface IAMTimecodeGenerator
  16504.     {
  16505.         CONST_VTBL struct IAMTimecodeGeneratorVtbl *lpVtbl;
  16506.     };
  16507.  
  16508.     
  16509.  
  16510. #ifdef COBJMACROS
  16511.  
  16512.  
  16513. #define IAMTimecodeGenerator_QueryInterface(This,riid,ppvObject)    \
  16514.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  16515.  
  16516. #define IAMTimecodeGenerator_AddRef(This)    \
  16517.     (This)->lpVtbl -> AddRef(This)
  16518.  
  16519. #define IAMTimecodeGenerator_Release(This)    \
  16520.     (This)->lpVtbl -> Release(This)
  16521.  
  16522.  
  16523. #define IAMTimecodeGenerator_GetTCGMode(This,Param,pValue)    \
  16524.     (This)->lpVtbl -> GetTCGMode(This,Param,pValue)
  16525.  
  16526. #define IAMTimecodeGenerator_SetTCGMode(This,Param,Value)    \
  16527.     (This)->lpVtbl -> SetTCGMode(This,Param,Value)
  16528.  
  16529. #define IAMTimecodeGenerator_put_VITCLine(This,Line)    \
  16530.     (This)->lpVtbl -> put_VITCLine(This,Line)
  16531.  
  16532. #define IAMTimecodeGenerator_get_VITCLine(This,pLine)    \
  16533.     (This)->lpVtbl -> get_VITCLine(This,pLine)
  16534.  
  16535. #define IAMTimecodeGenerator_SetTimecode(This,pTimecodeSample)    \
  16536.     (This)->lpVtbl -> SetTimecode(This,pTimecodeSample)
  16537.  
  16538. #define IAMTimecodeGenerator_GetTimecode(This,pTimecodeSample)    \
  16539.     (This)->lpVtbl -> GetTimecode(This,pTimecodeSample)
  16540.  
  16541. #endif /* COBJMACROS */
  16542.  
  16543.  
  16544. #endif     /* C style interface */
  16545.  
  16546.  
  16547.  
  16548. HRESULT STDMETHODCALLTYPE IAMTimecodeGenerator_GetTCGMode_Proxy( 
  16549.     IAMTimecodeGenerator * This,
  16550.     /* [in] */ long Param,
  16551.     /* [out] */ long *pValue);
  16552.  
  16553.  
  16554. void __RPC_STUB IAMTimecodeGenerator_GetTCGMode_Stub(
  16555.     IRpcStubBuffer *This,
  16556.     IRpcChannelBuffer *_pRpcChannelBuffer,
  16557.     PRPC_MESSAGE _pRpcMessage,
  16558.     DWORD *_pdwStubPhase);
  16559.  
  16560.  
  16561. HRESULT STDMETHODCALLTYPE IAMTimecodeGenerator_SetTCGMode_Proxy( 
  16562.     IAMTimecodeGenerator * This,
  16563.     /* [in] */ long Param,
  16564.     /* [in] */ long Value);
  16565.  
  16566.  
  16567. void __RPC_STUB IAMTimecodeGenerator_SetTCGMode_Stub(
  16568.     IRpcStubBuffer *This,
  16569.     IRpcChannelBuffer *_pRpcChannelBuffer,
  16570.     PRPC_MESSAGE _pRpcMessage,
  16571.     DWORD *_pdwStubPhase);
  16572.  
  16573.  
  16574. HRESULT STDMETHODCALLTYPE IAMTimecodeGenerator_put_VITCLine_Proxy( 
  16575.     IAMTimecodeGenerator * This,
  16576.     /* [in] */ long Line);
  16577.  
  16578.  
  16579. void __RPC_STUB IAMTimecodeGenerator_put_VITCLine_Stub(
  16580.     IRpcStubBuffer *This,
  16581.     IRpcChannelBuffer *_pRpcChannelBuffer,
  16582.     PRPC_MESSAGE _pRpcMessage,
  16583.     DWORD *_pdwStubPhase);
  16584.  
  16585.  
  16586. HRESULT STDMETHODCALLTYPE IAMTimecodeGenerator_get_VITCLine_Proxy( 
  16587.     IAMTimecodeGenerator * This,
  16588.     /* [out] */ long *pLine);
  16589.  
  16590.  
  16591. void __RPC_STUB IAMTimecodeGenerator_get_VITCLine_Stub(
  16592.     IRpcStubBuffer *This,
  16593.     IRpcChannelBuffer *_pRpcChannelBuffer,
  16594.     PRPC_MESSAGE _pRpcMessage,
  16595.     DWORD *_pdwStubPhase);
  16596.  
  16597.  
  16598. HRESULT STDMETHODCALLTYPE IAMTimecodeGenerator_SetTimecode_Proxy( 
  16599.     IAMTimecodeGenerator * This,
  16600.     /* [in] */ PTIMECODE_SAMPLE pTimecodeSample);
  16601.  
  16602.  
  16603. void __RPC_STUB IAMTimecodeGenerator_SetTimecode_Stub(
  16604.     IRpcStubBuffer *This,
  16605.     IRpcChannelBuffer *_pRpcChannelBuffer,
  16606.     PRPC_MESSAGE _pRpcMessage,
  16607.     DWORD *_pdwStubPhase);
  16608.  
  16609.  
  16610. HRESULT STDMETHODCALLTYPE IAMTimecodeGenerator_GetTimecode_Proxy( 
  16611.     IAMTimecodeGenerator * This,
  16612.     /* [out] */ PTIMECODE_SAMPLE pTimecodeSample);
  16613.  
  16614.  
  16615. void __RPC_STUB IAMTimecodeGenerator_GetTimecode_Stub(
  16616.     IRpcStubBuffer *This,
  16617.     IRpcChannelBuffer *_pRpcChannelBuffer,
  16618.     PRPC_MESSAGE _pRpcMessage,
  16619.     DWORD *_pdwStubPhase);
  16620.  
  16621.  
  16622.  
  16623. #endif     /* __IAMTimecodeGenerator_INTERFACE_DEFINED__ */
  16624.  
  16625.  
  16626. /* interface __MIDL_itf_strmif_0326 */
  16627. /* [local] */ 
  16628.  
  16629. typedef IAMTimecodeGenerator *PIAMTIMECODEGENERATOR;
  16630.  
  16631.  
  16632.  
  16633. extern RPC_IF_HANDLE __MIDL_itf_strmif_0326_v0_0_c_ifspec;
  16634. extern RPC_IF_HANDLE __MIDL_itf_strmif_0326_v0_0_s_ifspec;
  16635.  
  16636. #ifndef __IAMTimecodeDisplay_INTERFACE_DEFINED__
  16637. #define __IAMTimecodeDisplay_INTERFACE_DEFINED__
  16638.  
  16639. /* interface IAMTimecodeDisplay */
  16640. /* [unique][uuid][object] */ 
  16641.  
  16642.  
  16643. EXTERN_C const IID IID_IAMTimecodeDisplay;
  16644.  
  16645. #if defined(__cplusplus) && !defined(CINTERFACE)
  16646.     
  16647.     MIDL_INTERFACE("9B496CE2-811B-11cf-8C77-00AA006B6814")
  16648.     IAMTimecodeDisplay : public IUnknown
  16649.     {
  16650.     public:
  16651.         virtual HRESULT STDMETHODCALLTYPE GetTCDisplayEnable( 
  16652.             /* [out] */ long *pState) = 0;
  16653.         
  16654.         virtual HRESULT STDMETHODCALLTYPE SetTCDisplayEnable( 
  16655.             /* [in] */ long State) = 0;
  16656.         
  16657.         virtual HRESULT STDMETHODCALLTYPE GetTCDisplay( 
  16658.             /* [in] */ long Param,
  16659.             /* [out] */ long *pValue) = 0;
  16660.         
  16661.         virtual HRESULT STDMETHODCALLTYPE SetTCDisplay( 
  16662.             /* [in] */ long Param,
  16663.             /* [in] */ long Value) = 0;
  16664.         
  16665.     };
  16666.     
  16667. #else     /* C style interface */
  16668.  
  16669.     typedef struct IAMTimecodeDisplayVtbl
  16670.     {
  16671.         BEGIN_INTERFACE
  16672.         
  16673.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  16674.             IAMTimecodeDisplay * This,
  16675.             /* [in] */ REFIID riid,
  16676.             /* [iid_is][out] */ void **ppvObject);
  16677.         
  16678.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  16679.             IAMTimecodeDisplay * This);
  16680.         
  16681.         ULONG ( STDMETHODCALLTYPE *Release )( 
  16682.             IAMTimecodeDisplay * This);
  16683.         
  16684.         HRESULT ( STDMETHODCALLTYPE *GetTCDisplayEnable )( 
  16685.             IAMTimecodeDisplay * This,
  16686.             /* [out] */ long *pState);
  16687.         
  16688.         HRESULT ( STDMETHODCALLTYPE *SetTCDisplayEnable )( 
  16689.             IAMTimecodeDisplay * This,
  16690.             /* [in] */ long State);
  16691.         
  16692.         HRESULT ( STDMETHODCALLTYPE *GetTCDisplay )( 
  16693.             IAMTimecodeDisplay * This,
  16694.             /* [in] */ long Param,
  16695.             /* [out] */ long *pValue);
  16696.         
  16697.         HRESULT ( STDMETHODCALLTYPE *SetTCDisplay )( 
  16698.             IAMTimecodeDisplay * This,
  16699.             /* [in] */ long Param,
  16700.             /* [in] */ long Value);
  16701.         
  16702.         END_INTERFACE
  16703.     } IAMTimecodeDisplayVtbl;
  16704.  
  16705.     interface IAMTimecodeDisplay
  16706.     {
  16707.         CONST_VTBL struct IAMTimecodeDisplayVtbl *lpVtbl;
  16708.     };
  16709.  
  16710.     
  16711.  
  16712. #ifdef COBJMACROS
  16713.  
  16714.  
  16715. #define IAMTimecodeDisplay_QueryInterface(This,riid,ppvObject)    \
  16716.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  16717.  
  16718. #define IAMTimecodeDisplay_AddRef(This)    \
  16719.     (This)->lpVtbl -> AddRef(This)
  16720.  
  16721. #define IAMTimecodeDisplay_Release(This)    \
  16722.     (This)->lpVtbl -> Release(This)
  16723.  
  16724.  
  16725. #define IAMTimecodeDisplay_GetTCDisplayEnable(This,pState)    \
  16726.     (This)->lpVtbl -> GetTCDisplayEnable(This,pState)
  16727.  
  16728. #define IAMTimecodeDisplay_SetTCDisplayEnable(This,State)    \
  16729.     (This)->lpVtbl -> SetTCDisplayEnable(This,State)
  16730.  
  16731. #define IAMTimecodeDisplay_GetTCDisplay(This,Param,pValue)    \
  16732.     (This)->lpVtbl -> GetTCDisplay(This,Param,pValue)
  16733.  
  16734. #define IAMTimecodeDisplay_SetTCDisplay(This,Param,Value)    \
  16735.     (This)->lpVtbl -> SetTCDisplay(This,Param,Value)
  16736.  
  16737. #endif /* COBJMACROS */
  16738.  
  16739.  
  16740. #endif     /* C style interface */
  16741.  
  16742.  
  16743.  
  16744. HRESULT STDMETHODCALLTYPE IAMTimecodeDisplay_GetTCDisplayEnable_Proxy( 
  16745.     IAMTimecodeDisplay * This,
  16746.     /* [out] */ long *pState);
  16747.  
  16748.  
  16749. void __RPC_STUB IAMTimecodeDisplay_GetTCDisplayEnable_Stub(
  16750.     IRpcStubBuffer *This,
  16751.     IRpcChannelBuffer *_pRpcChannelBuffer,
  16752.     PRPC_MESSAGE _pRpcMessage,
  16753.     DWORD *_pdwStubPhase);
  16754.  
  16755.  
  16756. HRESULT STDMETHODCALLTYPE IAMTimecodeDisplay_SetTCDisplayEnable_Proxy( 
  16757.     IAMTimecodeDisplay * This,
  16758.     /* [in] */ long State);
  16759.  
  16760.  
  16761. void __RPC_STUB IAMTimecodeDisplay_SetTCDisplayEnable_Stub(
  16762.     IRpcStubBuffer *This,
  16763.     IRpcChannelBuffer *_pRpcChannelBuffer,
  16764.     PRPC_MESSAGE _pRpcMessage,
  16765.     DWORD *_pdwStubPhase);
  16766.  
  16767.  
  16768. HRESULT STDMETHODCALLTYPE IAMTimecodeDisplay_GetTCDisplay_Proxy( 
  16769.     IAMTimecodeDisplay * This,
  16770.     /* [in] */ long Param,
  16771.     /* [out] */ long *pValue);
  16772.  
  16773.  
  16774. void __RPC_STUB IAMTimecodeDisplay_GetTCDisplay_Stub(
  16775.     IRpcStubBuffer *This,
  16776.     IRpcChannelBuffer *_pRpcChannelBuffer,
  16777.     PRPC_MESSAGE _pRpcMessage,
  16778.     DWORD *_pdwStubPhase);
  16779.  
  16780.  
  16781. HRESULT STDMETHODCALLTYPE IAMTimecodeDisplay_SetTCDisplay_Proxy( 
  16782.     IAMTimecodeDisplay * This,
  16783.     /* [in] */ long Param,
  16784.     /* [in] */ long Value);
  16785.  
  16786.  
  16787. void __RPC_STUB IAMTimecodeDisplay_SetTCDisplay_Stub(
  16788.     IRpcStubBuffer *This,
  16789.     IRpcChannelBuffer *_pRpcChannelBuffer,
  16790.     PRPC_MESSAGE _pRpcMessage,
  16791.     DWORD *_pdwStubPhase);
  16792.  
  16793.  
  16794.  
  16795. #endif     /* __IAMTimecodeDisplay_INTERFACE_DEFINED__ */
  16796.  
  16797.  
  16798. /* interface __MIDL_itf_strmif_0327 */
  16799. /* [local] */ 
  16800.  
  16801. typedef IAMTimecodeDisplay *PIAMTIMECODEDISPLAY;
  16802.  
  16803.  
  16804.  
  16805. extern RPC_IF_HANDLE __MIDL_itf_strmif_0327_v0_0_c_ifspec;
  16806. extern RPC_IF_HANDLE __MIDL_itf_strmif_0327_v0_0_s_ifspec;
  16807.  
  16808. #ifndef __IAMDevMemoryAllocator_INTERFACE_DEFINED__
  16809. #define __IAMDevMemoryAllocator_INTERFACE_DEFINED__
  16810.  
  16811. /* interface IAMDevMemoryAllocator */
  16812. /* [unique][uuid][object] */ 
  16813.  
  16814.  
  16815. EXTERN_C const IID IID_IAMDevMemoryAllocator;
  16816.  
  16817. #if defined(__cplusplus) && !defined(CINTERFACE)
  16818.     
  16819.     MIDL_INTERFACE("c6545bf0-e76b-11d0-bd52-00a0c911ce86")
  16820.     IAMDevMemoryAllocator : public IUnknown
  16821.     {
  16822.     public:
  16823.         virtual HRESULT STDMETHODCALLTYPE GetInfo( 
  16824.             /* [out] */ DWORD *pdwcbTotalFree,
  16825.             /* [out] */ DWORD *pdwcbLargestFree,
  16826.             /* [out] */ DWORD *pdwcbTotalMemory,
  16827.             /* [out] */ DWORD *pdwcbMinimumChunk) = 0;
  16828.         
  16829.         virtual HRESULT STDMETHODCALLTYPE CheckMemory( 
  16830.             /* [in] */ const BYTE *pBuffer) = 0;
  16831.         
  16832.         virtual HRESULT STDMETHODCALLTYPE Alloc( 
  16833.             /* [out] */ BYTE **ppBuffer,
  16834.             /* [out][in] */ DWORD *pdwcbBuffer) = 0;
  16835.         
  16836.         virtual HRESULT STDMETHODCALLTYPE Free( 
  16837.             /* [in] */ BYTE *pBuffer) = 0;
  16838.         
  16839.         virtual HRESULT STDMETHODCALLTYPE GetDevMemoryObject( 
  16840.             /* [out] */ IUnknown **ppUnkInnner,
  16841.             /* [in] */ IUnknown *pUnkOuter) = 0;
  16842.         
  16843.     };
  16844.     
  16845. #else     /* C style interface */
  16846.  
  16847.     typedef struct IAMDevMemoryAllocatorVtbl
  16848.     {
  16849.         BEGIN_INTERFACE
  16850.         
  16851.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  16852.             IAMDevMemoryAllocator * This,
  16853.             /* [in] */ REFIID riid,
  16854.             /* [iid_is][out] */ void **ppvObject);
  16855.         
  16856.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  16857.             IAMDevMemoryAllocator * This);
  16858.         
  16859.         ULONG ( STDMETHODCALLTYPE *Release )( 
  16860.             IAMDevMemoryAllocator * This);
  16861.         
  16862.         HRESULT ( STDMETHODCALLTYPE *GetInfo )( 
  16863.             IAMDevMemoryAllocator * This,
  16864.             /* [out] */ DWORD *pdwcbTotalFree,
  16865.             /* [out] */ DWORD *pdwcbLargestFree,
  16866.             /* [out] */ DWORD *pdwcbTotalMemory,
  16867.             /* [out] */ DWORD *pdwcbMinimumChunk);
  16868.         
  16869.         HRESULT ( STDMETHODCALLTYPE *CheckMemory )( 
  16870.             IAMDevMemoryAllocator * This,
  16871.             /* [in] */ const BYTE *pBuffer);
  16872.         
  16873.         HRESULT ( STDMETHODCALLTYPE *Alloc )( 
  16874.             IAMDevMemoryAllocator * This,
  16875.             /* [out] */ BYTE **ppBuffer,
  16876.             /* [out][in] */ DWORD *pdwcbBuffer);
  16877.         
  16878.         HRESULT ( STDMETHODCALLTYPE *Free )( 
  16879.             IAMDevMemoryAllocator * This,
  16880.             /* [in] */ BYTE *pBuffer);
  16881.         
  16882.         HRESULT ( STDMETHODCALLTYPE *GetDevMemoryObject )( 
  16883.             IAMDevMemoryAllocator * This,
  16884.             /* [out] */ IUnknown **ppUnkInnner,
  16885.             /* [in] */ IUnknown *pUnkOuter);
  16886.         
  16887.         END_INTERFACE
  16888.     } IAMDevMemoryAllocatorVtbl;
  16889.  
  16890.     interface IAMDevMemoryAllocator
  16891.     {
  16892.         CONST_VTBL struct IAMDevMemoryAllocatorVtbl *lpVtbl;
  16893.     };
  16894.  
  16895.     
  16896.  
  16897. #ifdef COBJMACROS
  16898.  
  16899.  
  16900. #define IAMDevMemoryAllocator_QueryInterface(This,riid,ppvObject)    \
  16901.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  16902.  
  16903. #define IAMDevMemoryAllocator_AddRef(This)    \
  16904.     (This)->lpVtbl -> AddRef(This)
  16905.  
  16906. #define IAMDevMemoryAllocator_Release(This)    \
  16907.     (This)->lpVtbl -> Release(This)
  16908.  
  16909.  
  16910. #define IAMDevMemoryAllocator_GetInfo(This,pdwcbTotalFree,pdwcbLargestFree,pdwcbTotalMemory,pdwcbMinimumChunk)    \
  16911.     (This)->lpVtbl -> GetInfo(This,pdwcbTotalFree,pdwcbLargestFree,pdwcbTotalMemory,pdwcbMinimumChunk)
  16912.  
  16913. #define IAMDevMemoryAllocator_CheckMemory(This,pBuffer)    \
  16914.     (This)->lpVtbl -> CheckMemory(This,pBuffer)
  16915.  
  16916. #define IAMDevMemoryAllocator_Alloc(This,ppBuffer,pdwcbBuffer)    \
  16917.     (This)->lpVtbl -> Alloc(This,ppBuffer,pdwcbBuffer)
  16918.  
  16919. #define IAMDevMemoryAllocator_Free(This,pBuffer)    \
  16920.     (This)->lpVtbl -> Free(This,pBuffer)
  16921.  
  16922. #define IAMDevMemoryAllocator_GetDevMemoryObject(This,ppUnkInnner,pUnkOuter)    \
  16923.     (This)->lpVtbl -> GetDevMemoryObject(This,ppUnkInnner,pUnkOuter)
  16924.  
  16925. #endif /* COBJMACROS */
  16926.  
  16927.  
  16928. #endif     /* C style interface */
  16929.  
  16930.  
  16931.  
  16932. HRESULT STDMETHODCALLTYPE IAMDevMemoryAllocator_GetInfo_Proxy( 
  16933.     IAMDevMemoryAllocator * This,
  16934.     /* [out] */ DWORD *pdwcbTotalFree,
  16935.     /* [out] */ DWORD *pdwcbLargestFree,
  16936.     /* [out] */ DWORD *pdwcbTotalMemory,
  16937.     /* [out] */ DWORD *pdwcbMinimumChunk);
  16938.  
  16939.  
  16940. void __RPC_STUB IAMDevMemoryAllocator_GetInfo_Stub(
  16941.     IRpcStubBuffer *This,
  16942.     IRpcChannelBuffer *_pRpcChannelBuffer,
  16943.     PRPC_MESSAGE _pRpcMessage,
  16944.     DWORD *_pdwStubPhase);
  16945.  
  16946.  
  16947. HRESULT STDMETHODCALLTYPE IAMDevMemoryAllocator_CheckMemory_Proxy( 
  16948.     IAMDevMemoryAllocator * This,
  16949.     /* [in] */ const BYTE *pBuffer);
  16950.  
  16951.  
  16952. void __RPC_STUB IAMDevMemoryAllocator_CheckMemory_Stub(
  16953.     IRpcStubBuffer *This,
  16954.     IRpcChannelBuffer *_pRpcChannelBuffer,
  16955.     PRPC_MESSAGE _pRpcMessage,
  16956.     DWORD *_pdwStubPhase);
  16957.  
  16958.  
  16959. HRESULT STDMETHODCALLTYPE IAMDevMemoryAllocator_Alloc_Proxy( 
  16960.     IAMDevMemoryAllocator * This,
  16961.     /* [out] */ BYTE **ppBuffer,
  16962.     /* [out][in] */ DWORD *pdwcbBuffer);
  16963.  
  16964.  
  16965. void __RPC_STUB IAMDevMemoryAllocator_Alloc_Stub(
  16966.     IRpcStubBuffer *This,
  16967.     IRpcChannelBuffer *_pRpcChannelBuffer,
  16968.     PRPC_MESSAGE _pRpcMessage,
  16969.     DWORD *_pdwStubPhase);
  16970.  
  16971.  
  16972. HRESULT STDMETHODCALLTYPE IAMDevMemoryAllocator_Free_Proxy( 
  16973.     IAMDevMemoryAllocator * This,
  16974.     /* [in] */ BYTE *pBuffer);
  16975.  
  16976.  
  16977. void __RPC_STUB IAMDevMemoryAllocator_Free_Stub(
  16978.     IRpcStubBuffer *This,
  16979.     IRpcChannelBuffer *_pRpcChannelBuffer,
  16980.     PRPC_MESSAGE _pRpcMessage,
  16981.     DWORD *_pdwStubPhase);
  16982.  
  16983.  
  16984. HRESULT STDMETHODCALLTYPE IAMDevMemoryAllocator_GetDevMemoryObject_Proxy( 
  16985.     IAMDevMemoryAllocator * This,
  16986.     /* [out] */ IUnknown **ppUnkInnner,
  16987.     /* [in] */ IUnknown *pUnkOuter);
  16988.  
  16989.  
  16990. void __RPC_STUB IAMDevMemoryAllocator_GetDevMemoryObject_Stub(
  16991.     IRpcStubBuffer *This,
  16992.     IRpcChannelBuffer *_pRpcChannelBuffer,
  16993.     PRPC_MESSAGE _pRpcMessage,
  16994.     DWORD *_pdwStubPhase);
  16995.  
  16996.  
  16997.  
  16998. #endif     /* __IAMDevMemoryAllocator_INTERFACE_DEFINED__ */
  16999.  
  17000.  
  17001. /* interface __MIDL_itf_strmif_0328 */
  17002. /* [local] */ 
  17003.  
  17004. typedef IAMDevMemoryAllocator *PAMDEVMEMORYALLOCATOR;
  17005.  
  17006.  
  17007.  
  17008. extern RPC_IF_HANDLE __MIDL_itf_strmif_0328_v0_0_c_ifspec;
  17009. extern RPC_IF_HANDLE __MIDL_itf_strmif_0328_v0_0_s_ifspec;
  17010.  
  17011. #ifndef __IAMDevMemoryControl_INTERFACE_DEFINED__
  17012. #define __IAMDevMemoryControl_INTERFACE_DEFINED__
  17013.  
  17014. /* interface IAMDevMemoryControl */
  17015. /* [unique][uuid][object] */ 
  17016.  
  17017.  
  17018. EXTERN_C const IID IID_IAMDevMemoryControl;
  17019.  
  17020. #if defined(__cplusplus) && !defined(CINTERFACE)
  17021.     
  17022.     MIDL_INTERFACE("c6545bf1-e76b-11d0-bd52-00a0c911ce86")
  17023.     IAMDevMemoryControl : public IUnknown
  17024.     {
  17025.     public:
  17026.         virtual HRESULT STDMETHODCALLTYPE QueryWriteSync( void) = 0;
  17027.         
  17028.         virtual HRESULT STDMETHODCALLTYPE WriteSync( void) = 0;
  17029.         
  17030.         virtual HRESULT STDMETHODCALLTYPE GetDevId( 
  17031.             /* [out] */ DWORD *pdwDevId) = 0;
  17032.         
  17033.     };
  17034.     
  17035. #else     /* C style interface */
  17036.  
  17037.     typedef struct IAMDevMemoryControlVtbl
  17038.     {
  17039.         BEGIN_INTERFACE
  17040.         
  17041.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  17042.             IAMDevMemoryControl * This,
  17043.             /* [in] */ REFIID riid,
  17044.             /* [iid_is][out] */ void **ppvObject);
  17045.         
  17046.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  17047.             IAMDevMemoryControl * This);
  17048.         
  17049.         ULONG ( STDMETHODCALLTYPE *Release )( 
  17050.             IAMDevMemoryControl * This);
  17051.         
  17052.         HRESULT ( STDMETHODCALLTYPE *QueryWriteSync )( 
  17053.             IAMDevMemoryControl * This);
  17054.         
  17055.         HRESULT ( STDMETHODCALLTYPE *WriteSync )( 
  17056.             IAMDevMemoryControl * This);
  17057.         
  17058.         HRESULT ( STDMETHODCALLTYPE *GetDevId )( 
  17059.             IAMDevMemoryControl * This,
  17060.             /* [out] */ DWORD *pdwDevId);
  17061.         
  17062.         END_INTERFACE
  17063.     } IAMDevMemoryControlVtbl;
  17064.  
  17065.     interface IAMDevMemoryControl
  17066.     {
  17067.         CONST_VTBL struct IAMDevMemoryControlVtbl *lpVtbl;
  17068.     };
  17069.  
  17070.     
  17071.  
  17072. #ifdef COBJMACROS
  17073.  
  17074.  
  17075. #define IAMDevMemoryControl_QueryInterface(This,riid,ppvObject)    \
  17076.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  17077.  
  17078. #define IAMDevMemoryControl_AddRef(This)    \
  17079.     (This)->lpVtbl -> AddRef(This)
  17080.  
  17081. #define IAMDevMemoryControl_Release(This)    \
  17082.     (This)->lpVtbl -> Release(This)
  17083.  
  17084.  
  17085. #define IAMDevMemoryControl_QueryWriteSync(This)    \
  17086.     (This)->lpVtbl -> QueryWriteSync(This)
  17087.  
  17088. #define IAMDevMemoryControl_WriteSync(This)    \
  17089.     (This)->lpVtbl -> WriteSync(This)
  17090.  
  17091. #define IAMDevMemoryControl_GetDevId(This,pdwDevId)    \
  17092.     (This)->lpVtbl -> GetDevId(This,pdwDevId)
  17093.  
  17094. #endif /* COBJMACROS */
  17095.  
  17096.  
  17097. #endif     /* C style interface */
  17098.  
  17099.  
  17100.  
  17101. HRESULT STDMETHODCALLTYPE IAMDevMemoryControl_QueryWriteSync_Proxy( 
  17102.     IAMDevMemoryControl * This);
  17103.  
  17104.  
  17105. void __RPC_STUB IAMDevMemoryControl_QueryWriteSync_Stub(
  17106.     IRpcStubBuffer *This,
  17107.     IRpcChannelBuffer *_pRpcChannelBuffer,
  17108.     PRPC_MESSAGE _pRpcMessage,
  17109.     DWORD *_pdwStubPhase);
  17110.  
  17111.  
  17112. HRESULT STDMETHODCALLTYPE IAMDevMemoryControl_WriteSync_Proxy( 
  17113.     IAMDevMemoryControl * This);
  17114.  
  17115.  
  17116. void __RPC_STUB IAMDevMemoryControl_WriteSync_Stub(
  17117.     IRpcStubBuffer *This,
  17118.     IRpcChannelBuffer *_pRpcChannelBuffer,
  17119.     PRPC_MESSAGE _pRpcMessage,
  17120.     DWORD *_pdwStubPhase);
  17121.  
  17122.  
  17123. HRESULT STDMETHODCALLTYPE IAMDevMemoryControl_GetDevId_Proxy( 
  17124.     IAMDevMemoryControl * This,
  17125.     /* [out] */ DWORD *pdwDevId);
  17126.  
  17127.  
  17128. void __RPC_STUB IAMDevMemoryControl_GetDevId_Stub(
  17129.     IRpcStubBuffer *This,
  17130.     IRpcChannelBuffer *_pRpcChannelBuffer,
  17131.     PRPC_MESSAGE _pRpcMessage,
  17132.     DWORD *_pdwStubPhase);
  17133.  
  17134.  
  17135.  
  17136. #endif     /* __IAMDevMemoryControl_INTERFACE_DEFINED__ */
  17137.  
  17138.  
  17139. /* interface __MIDL_itf_strmif_0329 */
  17140. /* [local] */ 
  17141.  
  17142. typedef IAMDevMemoryControl *PAMDEVMEMORYCONTROL;
  17143.  
  17144.  
  17145. enum _AMSTREAMSELECTINFOFLAGS
  17146.     {    AMSTREAMSELECTINFO_ENABLED    = 0x1,
  17147.     AMSTREAMSELECTINFO_EXCLUSIVE    = 0x2
  17148.     } ;
  17149.  
  17150. enum _AMSTREAMSELECTENABLEFLAGS
  17151.     {    AMSTREAMSELECTENABLE_ENABLE    = 0x1,
  17152.     AMSTREAMSELECTENABLE_ENABLEALL    = 0x2
  17153.     } ;
  17154.  
  17155.  
  17156. extern RPC_IF_HANDLE __MIDL_itf_strmif_0329_v0_0_c_ifspec;
  17157. extern RPC_IF_HANDLE __MIDL_itf_strmif_0329_v0_0_s_ifspec;
  17158.  
  17159. #ifndef __IAMStreamSelect_INTERFACE_DEFINED__
  17160. #define __IAMStreamSelect_INTERFACE_DEFINED__
  17161.  
  17162. /* interface IAMStreamSelect */
  17163. /* [unique][uuid][object] */ 
  17164.  
  17165.  
  17166. EXTERN_C const IID IID_IAMStreamSelect;
  17167.  
  17168. #if defined(__cplusplus) && !defined(CINTERFACE)
  17169.     
  17170.     MIDL_INTERFACE("c1960960-17f5-11d1-abe1-00a0c905f375")
  17171.     IAMStreamSelect : public IUnknown
  17172.     {
  17173.     public:
  17174.         virtual HRESULT STDMETHODCALLTYPE Count( 
  17175.             /* [out] */ DWORD *pcStreams) = 0;
  17176.         
  17177.         virtual HRESULT STDMETHODCALLTYPE Info( 
  17178.             /* [in] */ long lIndex,
  17179.             /* [out] */ AM_MEDIA_TYPE **ppmt,
  17180.             /* [out] */ DWORD *pdwFlags,
  17181.             /* [out] */ LCID *plcid,
  17182.             /* [out] */ DWORD *pdwGroup,
  17183.             /* [out] */ WCHAR **ppszName,
  17184.             /* [out] */ IUnknown **ppObject,
  17185.             /* [out] */ IUnknown **ppUnk) = 0;
  17186.         
  17187.         virtual HRESULT STDMETHODCALLTYPE Enable( 
  17188.             /* [in] */ long lIndex,
  17189.             /* [in] */ DWORD dwFlags) = 0;
  17190.         
  17191.     };
  17192.     
  17193. #else     /* C style interface */
  17194.  
  17195.     typedef struct IAMStreamSelectVtbl
  17196.     {
  17197.         BEGIN_INTERFACE
  17198.         
  17199.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  17200.             IAMStreamSelect * This,
  17201.             /* [in] */ REFIID riid,
  17202.             /* [iid_is][out] */ void **ppvObject);
  17203.         
  17204.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  17205.             IAMStreamSelect * This);
  17206.         
  17207.         ULONG ( STDMETHODCALLTYPE *Release )( 
  17208.             IAMStreamSelect * This);
  17209.         
  17210.         HRESULT ( STDMETHODCALLTYPE *Count )( 
  17211.             IAMStreamSelect * This,
  17212.             /* [out] */ DWORD *pcStreams);
  17213.         
  17214.         HRESULT ( STDMETHODCALLTYPE *Info )( 
  17215.             IAMStreamSelect * This,
  17216.             /* [in] */ long lIndex,
  17217.             /* [out] */ AM_MEDIA_TYPE **ppmt,
  17218.             /* [out] */ DWORD *pdwFlags,
  17219.             /* [out] */ LCID *plcid,
  17220.             /* [out] */ DWORD *pdwGroup,
  17221.             /* [out] */ WCHAR **ppszName,
  17222.             /* [out] */ IUnknown **ppObject,
  17223.             /* [out] */ IUnknown **ppUnk);
  17224.         
  17225.         HRESULT ( STDMETHODCALLTYPE *Enable )( 
  17226.             IAMStreamSelect * This,
  17227.             /* [in] */ long lIndex,
  17228.             /* [in] */ DWORD dwFlags);
  17229.         
  17230.         END_INTERFACE
  17231.     } IAMStreamSelectVtbl;
  17232.  
  17233.     interface IAMStreamSelect
  17234.     {
  17235.         CONST_VTBL struct IAMStreamSelectVtbl *lpVtbl;
  17236.     };
  17237.  
  17238.     
  17239.  
  17240. #ifdef COBJMACROS
  17241.  
  17242.  
  17243. #define IAMStreamSelect_QueryInterface(This,riid,ppvObject)    \
  17244.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  17245.  
  17246. #define IAMStreamSelect_AddRef(This)    \
  17247.     (This)->lpVtbl -> AddRef(This)
  17248.  
  17249. #define IAMStreamSelect_Release(This)    \
  17250.     (This)->lpVtbl -> Release(This)
  17251.  
  17252.  
  17253. #define IAMStreamSelect_Count(This,pcStreams)    \
  17254.     (This)->lpVtbl -> Count(This,pcStreams)
  17255.  
  17256. #define IAMStreamSelect_Info(This,lIndex,ppmt,pdwFlags,plcid,pdwGroup,ppszName,ppObject,ppUnk)    \
  17257.     (This)->lpVtbl -> Info(This,lIndex,ppmt,pdwFlags,plcid,pdwGroup,ppszName,ppObject,ppUnk)
  17258.  
  17259. #define IAMStreamSelect_Enable(This,lIndex,dwFlags)    \
  17260.     (This)->lpVtbl -> Enable(This,lIndex,dwFlags)
  17261.  
  17262. #endif /* COBJMACROS */
  17263.  
  17264.  
  17265. #endif     /* C style interface */
  17266.  
  17267.  
  17268.  
  17269. HRESULT STDMETHODCALLTYPE IAMStreamSelect_Count_Proxy( 
  17270.     IAMStreamSelect * This,
  17271.     /* [out] */ DWORD *pcStreams);
  17272.  
  17273.  
  17274. void __RPC_STUB IAMStreamSelect_Count_Stub(
  17275.     IRpcStubBuffer *This,
  17276.     IRpcChannelBuffer *_pRpcChannelBuffer,
  17277.     PRPC_MESSAGE _pRpcMessage,
  17278.     DWORD *_pdwStubPhase);
  17279.  
  17280.  
  17281. HRESULT STDMETHODCALLTYPE IAMStreamSelect_Info_Proxy( 
  17282.     IAMStreamSelect * This,
  17283.     /* [in] */ long lIndex,
  17284.     /* [out] */ AM_MEDIA_TYPE **ppmt,
  17285.     /* [out] */ DWORD *pdwFlags,
  17286.     /* [out] */ LCID *plcid,
  17287.     /* [out] */ DWORD *pdwGroup,
  17288.     /* [out] */ WCHAR **ppszName,
  17289.     /* [out] */ IUnknown **ppObject,
  17290.     /* [out] */ IUnknown **ppUnk);
  17291.  
  17292.  
  17293. void __RPC_STUB IAMStreamSelect_Info_Stub(
  17294.     IRpcStubBuffer *This,
  17295.     IRpcChannelBuffer *_pRpcChannelBuffer,
  17296.     PRPC_MESSAGE _pRpcMessage,
  17297.     DWORD *_pdwStubPhase);
  17298.  
  17299.  
  17300. HRESULT STDMETHODCALLTYPE IAMStreamSelect_Enable_Proxy( 
  17301.     IAMStreamSelect * This,
  17302.     /* [in] */ long lIndex,
  17303.     /* [in] */ DWORD dwFlags);
  17304.  
  17305.  
  17306. void __RPC_STUB IAMStreamSelect_Enable_Stub(
  17307.     IRpcStubBuffer *This,
  17308.     IRpcChannelBuffer *_pRpcChannelBuffer,
  17309.     PRPC_MESSAGE _pRpcMessage,
  17310.     DWORD *_pdwStubPhase);
  17311.  
  17312.  
  17313.  
  17314. #endif     /* __IAMStreamSelect_INTERFACE_DEFINED__ */
  17315.  
  17316.  
  17317. /* interface __MIDL_itf_strmif_0330 */
  17318. /* [local] */ 
  17319.  
  17320. typedef IAMStreamSelect *PAMSTREAMSELECT;
  17321.  
  17322.  
  17323. enum _AMRESCTL_RESERVEFLAGS
  17324.     {    AMRESCTL_RESERVEFLAGS_RESERVE    = 0,
  17325.     AMRESCTL_RESERVEFLAGS_UNRESERVE    = 0x1
  17326.     } ;
  17327.  
  17328.  
  17329. extern RPC_IF_HANDLE __MIDL_itf_strmif_0330_v0_0_c_ifspec;
  17330. extern RPC_IF_HANDLE __MIDL_itf_strmif_0330_v0_0_s_ifspec;
  17331.  
  17332. #ifndef __IAMResourceControl_INTERFACE_DEFINED__
  17333. #define __IAMResourceControl_INTERFACE_DEFINED__
  17334.  
  17335. /* interface IAMResourceControl */
  17336. /* [local][unique][uuid][object] */ 
  17337.  
  17338.  
  17339. EXTERN_C const IID IID_IAMResourceControl;
  17340.  
  17341. #if defined(__cplusplus) && !defined(CINTERFACE)
  17342.     
  17343.     MIDL_INTERFACE("8389d2d0-77d7-11d1-abe6-00a0c905f375")
  17344.     IAMResourceControl : public IUnknown
  17345.     {
  17346.     public:
  17347.         virtual HRESULT STDMETHODCALLTYPE Reserve( 
  17348.             /* [in] */ DWORD dwFlags,
  17349.             /* [in] */ PVOID pvReserved) = 0;
  17350.         
  17351.     };
  17352.     
  17353. #else     /* C style interface */
  17354.  
  17355.     typedef struct IAMResourceControlVtbl
  17356.     {
  17357.         BEGIN_INTERFACE
  17358.         
  17359.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  17360.             IAMResourceControl * This,
  17361.             /* [in] */ REFIID riid,
  17362.             /* [iid_is][out] */ void **ppvObject);
  17363.         
  17364.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  17365.             IAMResourceControl * This);
  17366.         
  17367.         ULONG ( STDMETHODCALLTYPE *Release )( 
  17368.             IAMResourceControl * This);
  17369.         
  17370.         HRESULT ( STDMETHODCALLTYPE *Reserve )( 
  17371.             IAMResourceControl * This,
  17372.             /* [in] */ DWORD dwFlags,
  17373.             /* [in] */ PVOID pvReserved);
  17374.         
  17375.         END_INTERFACE
  17376.     } IAMResourceControlVtbl;
  17377.  
  17378.     interface IAMResourceControl
  17379.     {
  17380.         CONST_VTBL struct IAMResourceControlVtbl *lpVtbl;
  17381.     };
  17382.  
  17383.     
  17384.  
  17385. #ifdef COBJMACROS
  17386.  
  17387.  
  17388. #define IAMResourceControl_QueryInterface(This,riid,ppvObject)    \
  17389.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  17390.  
  17391. #define IAMResourceControl_AddRef(This)    \
  17392.     (This)->lpVtbl -> AddRef(This)
  17393.  
  17394. #define IAMResourceControl_Release(This)    \
  17395.     (This)->lpVtbl -> Release(This)
  17396.  
  17397.  
  17398. #define IAMResourceControl_Reserve(This,dwFlags,pvReserved)    \
  17399.     (This)->lpVtbl -> Reserve(This,dwFlags,pvReserved)
  17400.  
  17401. #endif /* COBJMACROS */
  17402.  
  17403.  
  17404. #endif     /* C style interface */
  17405.  
  17406.  
  17407.  
  17408. HRESULT STDMETHODCALLTYPE IAMResourceControl_Reserve_Proxy( 
  17409.     IAMResourceControl * This,
  17410.     /* [in] */ DWORD dwFlags,
  17411.     /* [in] */ PVOID pvReserved);
  17412.  
  17413.  
  17414. void __RPC_STUB IAMResourceControl_Reserve_Stub(
  17415.     IRpcStubBuffer *This,
  17416.     IRpcChannelBuffer *_pRpcChannelBuffer,
  17417.     PRPC_MESSAGE _pRpcMessage,
  17418.     DWORD *_pdwStubPhase);
  17419.  
  17420.  
  17421.  
  17422. #endif     /* __IAMResourceControl_INTERFACE_DEFINED__ */
  17423.  
  17424.  
  17425. #ifndef __IAMClockAdjust_INTERFACE_DEFINED__
  17426. #define __IAMClockAdjust_INTERFACE_DEFINED__
  17427.  
  17428. /* interface IAMClockAdjust */
  17429. /* [local][unique][uuid][object] */ 
  17430.  
  17431.  
  17432. EXTERN_C const IID IID_IAMClockAdjust;
  17433.  
  17434. #if defined(__cplusplus) && !defined(CINTERFACE)
  17435.     
  17436.     MIDL_INTERFACE("4d5466b0-a49c-11d1-abe8-00a0c905f375")
  17437.     IAMClockAdjust : public IUnknown
  17438.     {
  17439.     public:
  17440.         virtual HRESULT STDMETHODCALLTYPE SetClockDelta( 
  17441.             /* [in] */ REFERENCE_TIME rtDelta) = 0;
  17442.         
  17443.     };
  17444.     
  17445. #else     /* C style interface */
  17446.  
  17447.     typedef struct IAMClockAdjustVtbl
  17448.     {
  17449.         BEGIN_INTERFACE
  17450.         
  17451.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  17452.             IAMClockAdjust * This,
  17453.             /* [in] */ REFIID riid,
  17454.             /* [iid_is][out] */ void **ppvObject);
  17455.         
  17456.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  17457.             IAMClockAdjust * This);
  17458.         
  17459.         ULONG ( STDMETHODCALLTYPE *Release )( 
  17460.             IAMClockAdjust * This);
  17461.         
  17462.         HRESULT ( STDMETHODCALLTYPE *SetClockDelta )( 
  17463.             IAMClockAdjust * This,
  17464.             /* [in] */ REFERENCE_TIME rtDelta);
  17465.         
  17466.         END_INTERFACE
  17467.     } IAMClockAdjustVtbl;
  17468.  
  17469.     interface IAMClockAdjust
  17470.     {
  17471.         CONST_VTBL struct IAMClockAdjustVtbl *lpVtbl;
  17472.     };
  17473.  
  17474.     
  17475.  
  17476. #ifdef COBJMACROS
  17477.  
  17478.  
  17479. #define IAMClockAdjust_QueryInterface(This,riid,ppvObject)    \
  17480.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  17481.  
  17482. #define IAMClockAdjust_AddRef(This)    \
  17483.     (This)->lpVtbl -> AddRef(This)
  17484.  
  17485. #define IAMClockAdjust_Release(This)    \
  17486.     (This)->lpVtbl -> Release(This)
  17487.  
  17488.  
  17489. #define IAMClockAdjust_SetClockDelta(This,rtDelta)    \
  17490.     (This)->lpVtbl -> SetClockDelta(This,rtDelta)
  17491.  
  17492. #endif /* COBJMACROS */
  17493.  
  17494.  
  17495. #endif     /* C style interface */
  17496.  
  17497.  
  17498.  
  17499. HRESULT STDMETHODCALLTYPE IAMClockAdjust_SetClockDelta_Proxy( 
  17500.     IAMClockAdjust * This,
  17501.     /* [in] */ REFERENCE_TIME rtDelta);
  17502.  
  17503.  
  17504. void __RPC_STUB IAMClockAdjust_SetClockDelta_Stub(
  17505.     IRpcStubBuffer *This,
  17506.     IRpcChannelBuffer *_pRpcChannelBuffer,
  17507.     PRPC_MESSAGE _pRpcMessage,
  17508.     DWORD *_pdwStubPhase);
  17509.  
  17510.  
  17511.  
  17512. #endif     /* __IAMClockAdjust_INTERFACE_DEFINED__ */
  17513.  
  17514.  
  17515. /* interface __MIDL_itf_strmif_0332 */
  17516. /* [local] */ 
  17517.  
  17518.  
  17519. enum _AM_FILTER_MISC_FLAGS
  17520.     {    AM_FILTER_MISC_FLAGS_IS_RENDERER    = 0x1,
  17521.     AM_FILTER_MISC_FLAGS_IS_SOURCE    = 0x2
  17522.     } ;
  17523.  
  17524.  
  17525. extern RPC_IF_HANDLE __MIDL_itf_strmif_0332_v0_0_c_ifspec;
  17526. extern RPC_IF_HANDLE __MIDL_itf_strmif_0332_v0_0_s_ifspec;
  17527.  
  17528. #ifndef __IAMFilterMiscFlags_INTERFACE_DEFINED__
  17529. #define __IAMFilterMiscFlags_INTERFACE_DEFINED__
  17530.  
  17531. /* interface IAMFilterMiscFlags */
  17532. /* [local][unique][uuid][object] */ 
  17533.  
  17534.  
  17535. EXTERN_C const IID IID_IAMFilterMiscFlags;
  17536.  
  17537. #if defined(__cplusplus) && !defined(CINTERFACE)
  17538.     
  17539.     MIDL_INTERFACE("2dd74950-a890-11d1-abe8-00a0c905f375")
  17540.     IAMFilterMiscFlags : public IUnknown
  17541.     {
  17542.     public:
  17543.         virtual ULONG STDMETHODCALLTYPE GetMiscFlags( void) = 0;
  17544.         
  17545.     };
  17546.     
  17547. #else     /* C style interface */
  17548.  
  17549.     typedef struct IAMFilterMiscFlagsVtbl
  17550.     {
  17551.         BEGIN_INTERFACE
  17552.         
  17553.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  17554.             IAMFilterMiscFlags * This,
  17555.             /* [in] */ REFIID riid,
  17556.             /* [iid_is][out] */ void **ppvObject);
  17557.         
  17558.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  17559.             IAMFilterMiscFlags * This);
  17560.         
  17561.         ULONG ( STDMETHODCALLTYPE *Release )( 
  17562.             IAMFilterMiscFlags * This);
  17563.         
  17564.         ULONG ( STDMETHODCALLTYPE *GetMiscFlags )( 
  17565.             IAMFilterMiscFlags * This);
  17566.         
  17567.         END_INTERFACE
  17568.     } IAMFilterMiscFlagsVtbl;
  17569.  
  17570.     interface IAMFilterMiscFlags
  17571.     {
  17572.         CONST_VTBL struct IAMFilterMiscFlagsVtbl *lpVtbl;
  17573.     };
  17574.  
  17575.     
  17576.  
  17577. #ifdef COBJMACROS
  17578.  
  17579.  
  17580. #define IAMFilterMiscFlags_QueryInterface(This,riid,ppvObject)    \
  17581.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  17582.  
  17583. #define IAMFilterMiscFlags_AddRef(This)    \
  17584.     (This)->lpVtbl -> AddRef(This)
  17585.  
  17586. #define IAMFilterMiscFlags_Release(This)    \
  17587.     (This)->lpVtbl -> Release(This)
  17588.  
  17589.  
  17590. #define IAMFilterMiscFlags_GetMiscFlags(This)    \
  17591.     (This)->lpVtbl -> GetMiscFlags(This)
  17592.  
  17593. #endif /* COBJMACROS */
  17594.  
  17595.  
  17596. #endif     /* C style interface */
  17597.  
  17598.  
  17599.  
  17600. ULONG STDMETHODCALLTYPE IAMFilterMiscFlags_GetMiscFlags_Proxy( 
  17601.     IAMFilterMiscFlags * This);
  17602.  
  17603.  
  17604. void __RPC_STUB IAMFilterMiscFlags_GetMiscFlags_Stub(
  17605.     IRpcStubBuffer *This,
  17606.     IRpcChannelBuffer *_pRpcChannelBuffer,
  17607.     PRPC_MESSAGE _pRpcMessage,
  17608.     DWORD *_pdwStubPhase);
  17609.  
  17610.  
  17611.  
  17612. #endif     /* __IAMFilterMiscFlags_INTERFACE_DEFINED__ */
  17613.  
  17614.  
  17615. #ifndef __IDrawVideoImage_INTERFACE_DEFINED__
  17616. #define __IDrawVideoImage_INTERFACE_DEFINED__
  17617.  
  17618. /* interface IDrawVideoImage */
  17619. /* [unique][uuid][local][object] */ 
  17620.  
  17621.  
  17622. EXTERN_C const IID IID_IDrawVideoImage;
  17623.  
  17624. #if defined(__cplusplus) && !defined(CINTERFACE)
  17625.     
  17626.     MIDL_INTERFACE("48efb120-ab49-11d2-aed2-00a0c995e8d5")
  17627.     IDrawVideoImage : public IUnknown
  17628.     {
  17629.     public:
  17630.         virtual HRESULT STDMETHODCALLTYPE DrawVideoImageBegin( void) = 0;
  17631.         
  17632.         virtual HRESULT STDMETHODCALLTYPE DrawVideoImageEnd( void) = 0;
  17633.         
  17634.         virtual HRESULT STDMETHODCALLTYPE DrawVideoImageDraw( 
  17635.             /* [in] */ HDC hdc,
  17636.             /* [in] */ LPRECT lprcSrc,
  17637.             /* [in] */ LPRECT lprcDst) = 0;
  17638.         
  17639.     };
  17640.     
  17641. #else     /* C style interface */
  17642.  
  17643.     typedef struct IDrawVideoImageVtbl
  17644.     {
  17645.         BEGIN_INTERFACE
  17646.         
  17647.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  17648.             IDrawVideoImage * This,
  17649.             /* [in] */ REFIID riid,
  17650.             /* [iid_is][out] */ void **ppvObject);
  17651.         
  17652.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  17653.             IDrawVideoImage * This);
  17654.         
  17655.         ULONG ( STDMETHODCALLTYPE *Release )( 
  17656.             IDrawVideoImage * This);
  17657.         
  17658.         HRESULT ( STDMETHODCALLTYPE *DrawVideoImageBegin )( 
  17659.             IDrawVideoImage * This);
  17660.         
  17661.         HRESULT ( STDMETHODCALLTYPE *DrawVideoImageEnd )( 
  17662.             IDrawVideoImage * This);
  17663.         
  17664.         HRESULT ( STDMETHODCALLTYPE *DrawVideoImageDraw )( 
  17665.             IDrawVideoImage * This,
  17666.             /* [in] */ HDC hdc,
  17667.             /* [in] */ LPRECT lprcSrc,
  17668.             /* [in] */ LPRECT lprcDst);
  17669.         
  17670.         END_INTERFACE
  17671.     } IDrawVideoImageVtbl;
  17672.  
  17673.     interface IDrawVideoImage
  17674.     {
  17675.         CONST_VTBL struct IDrawVideoImageVtbl *lpVtbl;
  17676.     };
  17677.  
  17678.     
  17679.  
  17680. #ifdef COBJMACROS
  17681.  
  17682.  
  17683. #define IDrawVideoImage_QueryInterface(This,riid,ppvObject)    \
  17684.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  17685.  
  17686. #define IDrawVideoImage_AddRef(This)    \
  17687.     (This)->lpVtbl -> AddRef(This)
  17688.  
  17689. #define IDrawVideoImage_Release(This)    \
  17690.     (This)->lpVtbl -> Release(This)
  17691.  
  17692.  
  17693. #define IDrawVideoImage_DrawVideoImageBegin(This)    \
  17694.     (This)->lpVtbl -> DrawVideoImageBegin(This)
  17695.  
  17696. #define IDrawVideoImage_DrawVideoImageEnd(This)    \
  17697.     (This)->lpVtbl -> DrawVideoImageEnd(This)
  17698.  
  17699. #define IDrawVideoImage_DrawVideoImageDraw(This,hdc,lprcSrc,lprcDst)    \
  17700.     (This)->lpVtbl -> DrawVideoImageDraw(This,hdc,lprcSrc,lprcDst)
  17701.  
  17702. #endif /* COBJMACROS */
  17703.  
  17704.  
  17705. #endif     /* C style interface */
  17706.  
  17707.  
  17708.  
  17709. HRESULT STDMETHODCALLTYPE IDrawVideoImage_DrawVideoImageBegin_Proxy( 
  17710.     IDrawVideoImage * This);
  17711.  
  17712.  
  17713. void __RPC_STUB IDrawVideoImage_DrawVideoImageBegin_Stub(
  17714.     IRpcStubBuffer *This,
  17715.     IRpcChannelBuffer *_pRpcChannelBuffer,
  17716.     PRPC_MESSAGE _pRpcMessage,
  17717.     DWORD *_pdwStubPhase);
  17718.  
  17719.  
  17720. HRESULT STDMETHODCALLTYPE IDrawVideoImage_DrawVideoImageEnd_Proxy( 
  17721.     IDrawVideoImage * This);
  17722.  
  17723.  
  17724. void __RPC_STUB IDrawVideoImage_DrawVideoImageEnd_Stub(
  17725.     IRpcStubBuffer *This,
  17726.     IRpcChannelBuffer *_pRpcChannelBuffer,
  17727.     PRPC_MESSAGE _pRpcMessage,
  17728.     DWORD *_pdwStubPhase);
  17729.  
  17730.  
  17731. HRESULT STDMETHODCALLTYPE IDrawVideoImage_DrawVideoImageDraw_Proxy( 
  17732.     IDrawVideoImage * This,
  17733.     /* [in] */ HDC hdc,
  17734.     /* [in] */ LPRECT lprcSrc,
  17735.     /* [in] */ LPRECT lprcDst);
  17736.  
  17737.  
  17738. void __RPC_STUB IDrawVideoImage_DrawVideoImageDraw_Stub(
  17739.     IRpcStubBuffer *This,
  17740.     IRpcChannelBuffer *_pRpcChannelBuffer,
  17741.     PRPC_MESSAGE _pRpcMessage,
  17742.     DWORD *_pdwStubPhase);
  17743.  
  17744.  
  17745.  
  17746. #endif     /* __IDrawVideoImage_INTERFACE_DEFINED__ */
  17747.  
  17748.  
  17749. #ifndef __IDecimateVideoImage_INTERFACE_DEFINED__
  17750. #define __IDecimateVideoImage_INTERFACE_DEFINED__
  17751.  
  17752. /* interface IDecimateVideoImage */
  17753. /* [unique][uuid][local][object] */ 
  17754.  
  17755.  
  17756. EXTERN_C const IID IID_IDecimateVideoImage;
  17757.  
  17758. #if defined(__cplusplus) && !defined(CINTERFACE)
  17759.     
  17760.     MIDL_INTERFACE("2e5ea3e0-e924-11d2-b6da-00a0c995e8df")
  17761.     IDecimateVideoImage : public IUnknown
  17762.     {
  17763.     public:
  17764.         virtual HRESULT STDMETHODCALLTYPE SetDecimationImageSize( 
  17765.             /* [in] */ long lWidth,
  17766.             /* [in] */ long lHeight) = 0;
  17767.         
  17768.         virtual HRESULT STDMETHODCALLTYPE ResetDecimationImageSize( void) = 0;
  17769.         
  17770.     };
  17771.     
  17772. #else     /* C style interface */
  17773.  
  17774.     typedef struct IDecimateVideoImageVtbl
  17775.     {
  17776.         BEGIN_INTERFACE
  17777.         
  17778.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  17779.             IDecimateVideoImage * This,
  17780.             /* [in] */ REFIID riid,
  17781.             /* [iid_is][out] */ void **ppvObject);
  17782.         
  17783.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  17784.             IDecimateVideoImage * This);
  17785.         
  17786.         ULONG ( STDMETHODCALLTYPE *Release )( 
  17787.             IDecimateVideoImage * This);
  17788.         
  17789.         HRESULT ( STDMETHODCALLTYPE *SetDecimationImageSize )( 
  17790.             IDecimateVideoImage * This,
  17791.             /* [in] */ long lWidth,
  17792.             /* [in] */ long lHeight);
  17793.         
  17794.         HRESULT ( STDMETHODCALLTYPE *ResetDecimationImageSize )( 
  17795.             IDecimateVideoImage * This);
  17796.         
  17797.         END_INTERFACE
  17798.     } IDecimateVideoImageVtbl;
  17799.  
  17800.     interface IDecimateVideoImage
  17801.     {
  17802.         CONST_VTBL struct IDecimateVideoImageVtbl *lpVtbl;
  17803.     };
  17804.  
  17805.     
  17806.  
  17807. #ifdef COBJMACROS
  17808.  
  17809.  
  17810. #define IDecimateVideoImage_QueryInterface(This,riid,ppvObject)    \
  17811.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  17812.  
  17813. #define IDecimateVideoImage_AddRef(This)    \
  17814.     (This)->lpVtbl -> AddRef(This)
  17815.  
  17816. #define IDecimateVideoImage_Release(This)    \
  17817.     (This)->lpVtbl -> Release(This)
  17818.  
  17819.  
  17820. #define IDecimateVideoImage_SetDecimationImageSize(This,lWidth,lHeight)    \
  17821.     (This)->lpVtbl -> SetDecimationImageSize(This,lWidth,lHeight)
  17822.  
  17823. #define IDecimateVideoImage_ResetDecimationImageSize(This)    \
  17824.     (This)->lpVtbl -> ResetDecimationImageSize(This)
  17825.  
  17826. #endif /* COBJMACROS */
  17827.  
  17828.  
  17829. #endif     /* C style interface */
  17830.  
  17831.  
  17832.  
  17833. HRESULT STDMETHODCALLTYPE IDecimateVideoImage_SetDecimationImageSize_Proxy( 
  17834.     IDecimateVideoImage * This,
  17835.     /* [in] */ long lWidth,
  17836.     /* [in] */ long lHeight);
  17837.  
  17838.  
  17839. void __RPC_STUB IDecimateVideoImage_SetDecimationImageSize_Stub(
  17840.     IRpcStubBuffer *This,
  17841.     IRpcChannelBuffer *_pRpcChannelBuffer,
  17842.     PRPC_MESSAGE _pRpcMessage,
  17843.     DWORD *_pdwStubPhase);
  17844.  
  17845.  
  17846. HRESULT STDMETHODCALLTYPE IDecimateVideoImage_ResetDecimationImageSize_Proxy( 
  17847.     IDecimateVideoImage * This);
  17848.  
  17849.  
  17850. void __RPC_STUB IDecimateVideoImage_ResetDecimationImageSize_Stub(
  17851.     IRpcStubBuffer *This,
  17852.     IRpcChannelBuffer *_pRpcChannelBuffer,
  17853.     PRPC_MESSAGE _pRpcMessage,
  17854.     DWORD *_pdwStubPhase);
  17855.  
  17856.  
  17857.  
  17858. #endif     /* __IDecimateVideoImage_INTERFACE_DEFINED__ */
  17859.  
  17860.  
  17861. /* interface __MIDL_itf_strmif_0335 */
  17862. /* [local] */ 
  17863.  
  17864. typedef 
  17865. enum _DECIMATION_USAGE
  17866.     {    DECIMATION_LEGACY    = 0,
  17867.     DECIMATION_USE_DECODER_ONLY    = DECIMATION_LEGACY + 1,
  17868.     DECIMATION_USE_VIDEOPORT_ONLY    = DECIMATION_USE_DECODER_ONLY + 1,
  17869.     DECIMATION_USE_OVERLAY_ONLY    = DECIMATION_USE_VIDEOPORT_ONLY + 1,
  17870.     DECIMATION_DEFAULT    = DECIMATION_USE_OVERLAY_ONLY + 1
  17871.     }     DECIMATION_USAGE;
  17872.  
  17873.  
  17874.  
  17875. extern RPC_IF_HANDLE __MIDL_itf_strmif_0335_v0_0_c_ifspec;
  17876. extern RPC_IF_HANDLE __MIDL_itf_strmif_0335_v0_0_s_ifspec;
  17877.  
  17878. #ifndef __IAMVideoDecimationProperties_INTERFACE_DEFINED__
  17879. #define __IAMVideoDecimationProperties_INTERFACE_DEFINED__
  17880.  
  17881. /* interface IAMVideoDecimationProperties */
  17882. /* [unique][uuid][local][object] */ 
  17883.  
  17884.  
  17885. EXTERN_C const IID IID_IAMVideoDecimationProperties;
  17886.  
  17887. #if defined(__cplusplus) && !defined(CINTERFACE)
  17888.     
  17889.     MIDL_INTERFACE("60d32930-13da-11d3-9ec6-c4fcaef5c7be")
  17890.     IAMVideoDecimationProperties : public IUnknown
  17891.     {
  17892.     public:
  17893.         virtual HRESULT STDMETHODCALLTYPE QueryDecimationUsage( 
  17894.             /* [out] */ DECIMATION_USAGE *lpUsage) = 0;
  17895.         
  17896.         virtual HRESULT STDMETHODCALLTYPE SetDecimationUsage( 
  17897.             /* [in] */ DECIMATION_USAGE Usage) = 0;
  17898.         
  17899.     };
  17900.     
  17901. #else     /* C style interface */
  17902.  
  17903.     typedef struct IAMVideoDecimationPropertiesVtbl
  17904.     {
  17905.         BEGIN_INTERFACE
  17906.         
  17907.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  17908.             IAMVideoDecimationProperties * This,
  17909.             /* [in] */ REFIID riid,
  17910.             /* [iid_is][out] */ void **ppvObject);
  17911.         
  17912.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  17913.             IAMVideoDecimationProperties * This);
  17914.         
  17915.         ULONG ( STDMETHODCALLTYPE *Release )( 
  17916.             IAMVideoDecimationProperties * This);
  17917.         
  17918.         HRESULT ( STDMETHODCALLTYPE *QueryDecimationUsage )( 
  17919.             IAMVideoDecimationProperties * This,
  17920.             /* [out] */ DECIMATION_USAGE *lpUsage);
  17921.         
  17922.         HRESULT ( STDMETHODCALLTYPE *SetDecimationUsage )( 
  17923.             IAMVideoDecimationProperties * This,
  17924.             /* [in] */ DECIMATION_USAGE Usage);
  17925.         
  17926.         END_INTERFACE
  17927.     } IAMVideoDecimationPropertiesVtbl;
  17928.  
  17929.     interface IAMVideoDecimationProperties
  17930.     {
  17931.         CONST_VTBL struct IAMVideoDecimationPropertiesVtbl *lpVtbl;
  17932.     };
  17933.  
  17934.     
  17935.  
  17936. #ifdef COBJMACROS
  17937.  
  17938.  
  17939. #define IAMVideoDecimationProperties_QueryInterface(This,riid,ppvObject)    \
  17940.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  17941.  
  17942. #define IAMVideoDecimationProperties_AddRef(This)    \
  17943.     (This)->lpVtbl -> AddRef(This)
  17944.  
  17945. #define IAMVideoDecimationProperties_Release(This)    \
  17946.     (This)->lpVtbl -> Release(This)
  17947.  
  17948.  
  17949. #define IAMVideoDecimationProperties_QueryDecimationUsage(This,lpUsage)    \
  17950.     (This)->lpVtbl -> QueryDecimationUsage(This,lpUsage)
  17951.  
  17952. #define IAMVideoDecimationProperties_SetDecimationUsage(This,Usage)    \
  17953.     (This)->lpVtbl -> SetDecimationUsage(This,Usage)
  17954.  
  17955. #endif /* COBJMACROS */
  17956.  
  17957.  
  17958. #endif     /* C style interface */
  17959.  
  17960.  
  17961.  
  17962. HRESULT STDMETHODCALLTYPE IAMVideoDecimationProperties_QueryDecimationUsage_Proxy( 
  17963.     IAMVideoDecimationProperties * This,
  17964.     /* [out] */ DECIMATION_USAGE *lpUsage);
  17965.  
  17966.  
  17967. void __RPC_STUB IAMVideoDecimationProperties_QueryDecimationUsage_Stub(
  17968.     IRpcStubBuffer *This,
  17969.     IRpcChannelBuffer *_pRpcChannelBuffer,
  17970.     PRPC_MESSAGE _pRpcMessage,
  17971.     DWORD *_pdwStubPhase);
  17972.  
  17973.  
  17974. HRESULT STDMETHODCALLTYPE IAMVideoDecimationProperties_SetDecimationUsage_Proxy( 
  17975.     IAMVideoDecimationProperties * This,
  17976.     /* [in] */ DECIMATION_USAGE Usage);
  17977.  
  17978.  
  17979. void __RPC_STUB IAMVideoDecimationProperties_SetDecimationUsage_Stub(
  17980.     IRpcStubBuffer *This,
  17981.     IRpcChannelBuffer *_pRpcChannelBuffer,
  17982.     PRPC_MESSAGE _pRpcMessage,
  17983.     DWORD *_pdwStubPhase);
  17984.  
  17985.  
  17986.  
  17987. #endif     /* __IAMVideoDecimationProperties_INTERFACE_DEFINED__ */
  17988.  
  17989.  
  17990. #ifndef __IVideoFrameStep_INTERFACE_DEFINED__
  17991. #define __IVideoFrameStep_INTERFACE_DEFINED__
  17992.  
  17993. /* interface IVideoFrameStep */
  17994. /* [unique][uuid][object] */ 
  17995.  
  17996.  
  17997. EXTERN_C const IID IID_IVideoFrameStep;
  17998.  
  17999. #if defined(__cplusplus) && !defined(CINTERFACE)
  18000.     
  18001.     MIDL_INTERFACE("e46a9787-2b71-444d-a4b5-1fab7b708d6a")
  18002.     IVideoFrameStep : public IUnknown
  18003.     {
  18004.     public:
  18005.         virtual HRESULT STDMETHODCALLTYPE Step( 
  18006.             DWORD dwFrames,
  18007.             /* [unique] */ IUnknown *pStepObject) = 0;
  18008.         
  18009.         virtual HRESULT STDMETHODCALLTYPE CanStep( 
  18010.             long bMultiple,
  18011.             /* [unique] */ IUnknown *pStepObject) = 0;
  18012.         
  18013.         virtual HRESULT STDMETHODCALLTYPE CancelStep( void) = 0;
  18014.         
  18015.     };
  18016.     
  18017. #else     /* C style interface */
  18018.  
  18019.     typedef struct IVideoFrameStepVtbl
  18020.     {
  18021.         BEGIN_INTERFACE
  18022.         
  18023.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  18024.             IVideoFrameStep * This,
  18025.             /* [in] */ REFIID riid,
  18026.             /* [iid_is][out] */ void **ppvObject);
  18027.         
  18028.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  18029.             IVideoFrameStep * This);
  18030.         
  18031.         ULONG ( STDMETHODCALLTYPE *Release )( 
  18032.             IVideoFrameStep * This);
  18033.         
  18034.         HRESULT ( STDMETHODCALLTYPE *Step )( 
  18035.             IVideoFrameStep * This,
  18036.             DWORD dwFrames,
  18037.             /* [unique] */ IUnknown *pStepObject);
  18038.         
  18039.         HRESULT ( STDMETHODCALLTYPE *CanStep )( 
  18040.             IVideoFrameStep * This,
  18041.             long bMultiple,
  18042.             /* [unique] */ IUnknown *pStepObject);
  18043.         
  18044.         HRESULT ( STDMETHODCALLTYPE *CancelStep )( 
  18045.             IVideoFrameStep * This);
  18046.         
  18047.         END_INTERFACE
  18048.     } IVideoFrameStepVtbl;
  18049.  
  18050.     interface IVideoFrameStep
  18051.     {
  18052.         CONST_VTBL struct IVideoFrameStepVtbl *lpVtbl;
  18053.     };
  18054.  
  18055.     
  18056.  
  18057. #ifdef COBJMACROS
  18058.  
  18059.  
  18060. #define IVideoFrameStep_QueryInterface(This,riid,ppvObject)    \
  18061.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  18062.  
  18063. #define IVideoFrameStep_AddRef(This)    \
  18064.     (This)->lpVtbl -> AddRef(This)
  18065.  
  18066. #define IVideoFrameStep_Release(This)    \
  18067.     (This)->lpVtbl -> Release(This)
  18068.  
  18069.  
  18070. #define IVideoFrameStep_Step(This,dwFrames,pStepObject)    \
  18071.     (This)->lpVtbl -> Step(This,dwFrames,pStepObject)
  18072.  
  18073. #define IVideoFrameStep_CanStep(This,bMultiple,pStepObject)    \
  18074.     (This)->lpVtbl -> CanStep(This,bMultiple,pStepObject)
  18075.  
  18076. #define IVideoFrameStep_CancelStep(This)    \
  18077.     (This)->lpVtbl -> CancelStep(This)
  18078.  
  18079. #endif /* COBJMACROS */
  18080.  
  18081.  
  18082. #endif     /* C style interface */
  18083.  
  18084.  
  18085.  
  18086. HRESULT STDMETHODCALLTYPE IVideoFrameStep_Step_Proxy( 
  18087.     IVideoFrameStep * This,
  18088.     DWORD dwFrames,
  18089.     /* [unique] */ IUnknown *pStepObject);
  18090.  
  18091.  
  18092. void __RPC_STUB IVideoFrameStep_Step_Stub(
  18093.     IRpcStubBuffer *This,
  18094.     IRpcChannelBuffer *_pRpcChannelBuffer,
  18095.     PRPC_MESSAGE _pRpcMessage,
  18096.     DWORD *_pdwStubPhase);
  18097.  
  18098.  
  18099. HRESULT STDMETHODCALLTYPE IVideoFrameStep_CanStep_Proxy( 
  18100.     IVideoFrameStep * This,
  18101.     long bMultiple,
  18102.     /* [unique] */ IUnknown *pStepObject);
  18103.  
  18104.  
  18105. void __RPC_STUB IVideoFrameStep_CanStep_Stub(
  18106.     IRpcStubBuffer *This,
  18107.     IRpcChannelBuffer *_pRpcChannelBuffer,
  18108.     PRPC_MESSAGE _pRpcMessage,
  18109.     DWORD *_pdwStubPhase);
  18110.  
  18111.  
  18112. HRESULT STDMETHODCALLTYPE IVideoFrameStep_CancelStep_Proxy( 
  18113.     IVideoFrameStep * This);
  18114.  
  18115.  
  18116. void __RPC_STUB IVideoFrameStep_CancelStep_Stub(
  18117.     IRpcStubBuffer *This,
  18118.     IRpcChannelBuffer *_pRpcChannelBuffer,
  18119.     PRPC_MESSAGE _pRpcMessage,
  18120.     DWORD *_pdwStubPhase);
  18121.  
  18122.  
  18123.  
  18124. #endif     /* __IVideoFrameStep_INTERFACE_DEFINED__ */
  18125.  
  18126.  
  18127. /* interface __MIDL_itf_strmif_0337 */
  18128. /* [local] */ 
  18129.  
  18130.  
  18131. enum _AM_PUSHSOURCE_FLAGS
  18132.     {    AM_PUSHSOURCECAPS_INTERNAL_RM    = 0x1,
  18133.     AM_PUSHSOURCECAPS_NOT_LIVE    = 0x2,
  18134.     AM_PUSHSOURCECAPS_PRIVATE_CLOCK    = 0x4,
  18135.     AM_PUSHSOURCEREQS_USE_STREAM_CLOCK    = 0x10000
  18136.     } ;
  18137.  
  18138.  
  18139. extern RPC_IF_HANDLE __MIDL_itf_strmif_0337_v0_0_c_ifspec;
  18140. extern RPC_IF_HANDLE __MIDL_itf_strmif_0337_v0_0_s_ifspec;
  18141.  
  18142. #ifndef __IAMLatency_INTERFACE_DEFINED__
  18143. #define __IAMLatency_INTERFACE_DEFINED__
  18144.  
  18145. /* interface IAMLatency */
  18146. /* [unique][uuid][object] */ 
  18147.  
  18148.  
  18149. EXTERN_C const IID IID_IAMLatency;
  18150.  
  18151. #if defined(__cplusplus) && !defined(CINTERFACE)
  18152.     
  18153.     MIDL_INTERFACE("62EA93BA-EC62-11d2-B770-00C04FB6BD3D")
  18154.     IAMLatency : public IUnknown
  18155.     {
  18156.     public:
  18157.         virtual HRESULT STDMETHODCALLTYPE GetLatency( 
  18158.             /* [in] */ REFERENCE_TIME *prtLatency) = 0;
  18159.         
  18160.     };
  18161.     
  18162. #else     /* C style interface */
  18163.  
  18164.     typedef struct IAMLatencyVtbl
  18165.     {
  18166.         BEGIN_INTERFACE
  18167.         
  18168.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  18169.             IAMLatency * This,
  18170.             /* [in] */ REFIID riid,
  18171.             /* [iid_is][out] */ void **ppvObject);
  18172.         
  18173.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  18174.             IAMLatency * This);
  18175.         
  18176.         ULONG ( STDMETHODCALLTYPE *Release )( 
  18177.             IAMLatency * This);
  18178.         
  18179.         HRESULT ( STDMETHODCALLTYPE *GetLatency )( 
  18180.             IAMLatency * This,
  18181.             /* [in] */ REFERENCE_TIME *prtLatency);
  18182.         
  18183.         END_INTERFACE
  18184.     } IAMLatencyVtbl;
  18185.  
  18186.     interface IAMLatency
  18187.     {
  18188.         CONST_VTBL struct IAMLatencyVtbl *lpVtbl;
  18189.     };
  18190.  
  18191.     
  18192.  
  18193. #ifdef COBJMACROS
  18194.  
  18195.  
  18196. #define IAMLatency_QueryInterface(This,riid,ppvObject)    \
  18197.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  18198.  
  18199. #define IAMLatency_AddRef(This)    \
  18200.     (This)->lpVtbl -> AddRef(This)
  18201.  
  18202. #define IAMLatency_Release(This)    \
  18203.     (This)->lpVtbl -> Release(This)
  18204.  
  18205.  
  18206. #define IAMLatency_GetLatency(This,prtLatency)    \
  18207.     (This)->lpVtbl -> GetLatency(This,prtLatency)
  18208.  
  18209. #endif /* COBJMACROS */
  18210.  
  18211.  
  18212. #endif     /* C style interface */
  18213.  
  18214.  
  18215.  
  18216. HRESULT STDMETHODCALLTYPE IAMLatency_GetLatency_Proxy( 
  18217.     IAMLatency * This,
  18218.     /* [in] */ REFERENCE_TIME *prtLatency);
  18219.  
  18220.  
  18221. void __RPC_STUB IAMLatency_GetLatency_Stub(
  18222.     IRpcStubBuffer *This,
  18223.     IRpcChannelBuffer *_pRpcChannelBuffer,
  18224.     PRPC_MESSAGE _pRpcMessage,
  18225.     DWORD *_pdwStubPhase);
  18226.  
  18227.  
  18228.  
  18229. #endif     /* __IAMLatency_INTERFACE_DEFINED__ */
  18230.  
  18231.  
  18232. #ifndef __IAMPushSource_INTERFACE_DEFINED__
  18233. #define __IAMPushSource_INTERFACE_DEFINED__
  18234.  
  18235. /* interface IAMPushSource */
  18236. /* [unique][uuid][object] */ 
  18237.  
  18238.  
  18239. EXTERN_C const IID IID_IAMPushSource;
  18240.  
  18241. #if defined(__cplusplus) && !defined(CINTERFACE)
  18242.     
  18243.     MIDL_INTERFACE("F185FE76-E64E-11d2-B76E-00C04FB6BD3D")
  18244.     IAMPushSource : public IAMLatency
  18245.     {
  18246.     public:
  18247.         virtual HRESULT STDMETHODCALLTYPE GetPushSourceFlags( 
  18248.             /* [out] */ ULONG *pFlags) = 0;
  18249.         
  18250.         virtual HRESULT STDMETHODCALLTYPE SetPushSourceFlags( 
  18251.             /* [in] */ ULONG Flags) = 0;
  18252.         
  18253.         virtual HRESULT STDMETHODCALLTYPE SetStreamOffset( 
  18254.             /* [in] */ REFERENCE_TIME rtOffset) = 0;
  18255.         
  18256.         virtual HRESULT STDMETHODCALLTYPE GetStreamOffset( 
  18257.             /* [out] */ REFERENCE_TIME *prtOffset) = 0;
  18258.         
  18259.         virtual HRESULT STDMETHODCALLTYPE GetMaxStreamOffset( 
  18260.             /* [out] */ REFERENCE_TIME *prtMaxOffset) = 0;
  18261.         
  18262.         virtual HRESULT STDMETHODCALLTYPE SetMaxStreamOffset( 
  18263.             /* [in] */ REFERENCE_TIME rtMaxOffset) = 0;
  18264.         
  18265.     };
  18266.     
  18267. #else     /* C style interface */
  18268.  
  18269.     typedef struct IAMPushSourceVtbl
  18270.     {
  18271.         BEGIN_INTERFACE
  18272.         
  18273.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  18274.             IAMPushSource * This,
  18275.             /* [in] */ REFIID riid,
  18276.             /* [iid_is][out] */ void **ppvObject);
  18277.         
  18278.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  18279.             IAMPushSource * This);
  18280.         
  18281.         ULONG ( STDMETHODCALLTYPE *Release )( 
  18282.             IAMPushSource * This);
  18283.         
  18284.         HRESULT ( STDMETHODCALLTYPE *GetLatency )( 
  18285.             IAMPushSource * This,
  18286.             /* [in] */ REFERENCE_TIME *prtLatency);
  18287.         
  18288.         HRESULT ( STDMETHODCALLTYPE *GetPushSourceFlags )( 
  18289.             IAMPushSource * This,
  18290.             /* [out] */ ULONG *pFlags);
  18291.         
  18292.         HRESULT ( STDMETHODCALLTYPE *SetPushSourceFlags )( 
  18293.             IAMPushSource * This,
  18294.             /* [in] */ ULONG Flags);
  18295.         
  18296.         HRESULT ( STDMETHODCALLTYPE *SetStreamOffset )( 
  18297.             IAMPushSource * This,
  18298.             /* [in] */ REFERENCE_TIME rtOffset);
  18299.         
  18300.         HRESULT ( STDMETHODCALLTYPE *GetStreamOffset )( 
  18301.             IAMPushSource * This,
  18302.             /* [out] */ REFERENCE_TIME *prtOffset);
  18303.         
  18304.         HRESULT ( STDMETHODCALLTYPE *GetMaxStreamOffset )( 
  18305.             IAMPushSource * This,
  18306.             /* [out] */ REFERENCE_TIME *prtMaxOffset);
  18307.         
  18308.         HRESULT ( STDMETHODCALLTYPE *SetMaxStreamOffset )( 
  18309.             IAMPushSource * This,
  18310.             /* [in] */ REFERENCE_TIME rtMaxOffset);
  18311.         
  18312.         END_INTERFACE
  18313.     } IAMPushSourceVtbl;
  18314.  
  18315.     interface IAMPushSource
  18316.     {
  18317.         CONST_VTBL struct IAMPushSourceVtbl *lpVtbl;
  18318.     };
  18319.  
  18320.     
  18321.  
  18322. #ifdef COBJMACROS
  18323.  
  18324.  
  18325. #define IAMPushSource_QueryInterface(This,riid,ppvObject)    \
  18326.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  18327.  
  18328. #define IAMPushSource_AddRef(This)    \
  18329.     (This)->lpVtbl -> AddRef(This)
  18330.  
  18331. #define IAMPushSource_Release(This)    \
  18332.     (This)->lpVtbl -> Release(This)
  18333.  
  18334.  
  18335. #define IAMPushSource_GetLatency(This,prtLatency)    \
  18336.     (This)->lpVtbl -> GetLatency(This,prtLatency)
  18337.  
  18338.  
  18339. #define IAMPushSource_GetPushSourceFlags(This,pFlags)    \
  18340.     (This)->lpVtbl -> GetPushSourceFlags(This,pFlags)
  18341.  
  18342. #define IAMPushSource_SetPushSourceFlags(This,Flags)    \
  18343.     (This)->lpVtbl -> SetPushSourceFlags(This,Flags)
  18344.  
  18345. #define IAMPushSource_SetStreamOffset(This,rtOffset)    \
  18346.     (This)->lpVtbl -> SetStreamOffset(This,rtOffset)
  18347.  
  18348. #define IAMPushSource_GetStreamOffset(This,prtOffset)    \
  18349.     (This)->lpVtbl -> GetStreamOffset(This,prtOffset)
  18350.  
  18351. #define IAMPushSource_GetMaxStreamOffset(This,prtMaxOffset)    \
  18352.     (This)->lpVtbl -> GetMaxStreamOffset(This,prtMaxOffset)
  18353.  
  18354. #define IAMPushSource_SetMaxStreamOffset(This,rtMaxOffset)    \
  18355.     (This)->lpVtbl -> SetMaxStreamOffset(This,rtMaxOffset)
  18356.  
  18357. #endif /* COBJMACROS */
  18358.  
  18359.  
  18360. #endif     /* C style interface */
  18361.  
  18362.  
  18363.  
  18364. HRESULT STDMETHODCALLTYPE IAMPushSource_GetPushSourceFlags_Proxy( 
  18365.     IAMPushSource * This,
  18366.     /* [out] */ ULONG *pFlags);
  18367.  
  18368.  
  18369. void __RPC_STUB IAMPushSource_GetPushSourceFlags_Stub(
  18370.     IRpcStubBuffer *This,
  18371.     IRpcChannelBuffer *_pRpcChannelBuffer,
  18372.     PRPC_MESSAGE _pRpcMessage,
  18373.     DWORD *_pdwStubPhase);
  18374.  
  18375.  
  18376. HRESULT STDMETHODCALLTYPE IAMPushSource_SetPushSourceFlags_Proxy( 
  18377.     IAMPushSource * This,
  18378.     /* [in] */ ULONG Flags);
  18379.  
  18380.  
  18381. void __RPC_STUB IAMPushSource_SetPushSourceFlags_Stub(
  18382.     IRpcStubBuffer *This,
  18383.     IRpcChannelBuffer *_pRpcChannelBuffer,
  18384.     PRPC_MESSAGE _pRpcMessage,
  18385.     DWORD *_pdwStubPhase);
  18386.  
  18387.  
  18388. HRESULT STDMETHODCALLTYPE IAMPushSource_SetStreamOffset_Proxy( 
  18389.     IAMPushSource * This,
  18390.     /* [in] */ REFERENCE_TIME rtOffset);
  18391.  
  18392.  
  18393. void __RPC_STUB IAMPushSource_SetStreamOffset_Stub(
  18394.     IRpcStubBuffer *This,
  18395.     IRpcChannelBuffer *_pRpcChannelBuffer,
  18396.     PRPC_MESSAGE _pRpcMessage,
  18397.     DWORD *_pdwStubPhase);
  18398.  
  18399.  
  18400. HRESULT STDMETHODCALLTYPE IAMPushSource_GetStreamOffset_Proxy( 
  18401.     IAMPushSource * This,
  18402.     /* [out] */ REFERENCE_TIME *prtOffset);
  18403.  
  18404.  
  18405. void __RPC_STUB IAMPushSource_GetStreamOffset_Stub(
  18406.     IRpcStubBuffer *This,
  18407.     IRpcChannelBuffer *_pRpcChannelBuffer,
  18408.     PRPC_MESSAGE _pRpcMessage,
  18409.     DWORD *_pdwStubPhase);
  18410.  
  18411.  
  18412. HRESULT STDMETHODCALLTYPE IAMPushSource_GetMaxStreamOffset_Proxy( 
  18413.     IAMPushSource * This,
  18414.     /* [out] */ REFERENCE_TIME *prtMaxOffset);
  18415.  
  18416.  
  18417. void __RPC_STUB IAMPushSource_GetMaxStreamOffset_Stub(
  18418.     IRpcStubBuffer *This,
  18419.     IRpcChannelBuffer *_pRpcChannelBuffer,
  18420.     PRPC_MESSAGE _pRpcMessage,
  18421.     DWORD *_pdwStubPhase);
  18422.  
  18423.  
  18424. HRESULT STDMETHODCALLTYPE IAMPushSource_SetMaxStreamOffset_Proxy( 
  18425.     IAMPushSource * This,
  18426.     /* [in] */ REFERENCE_TIME rtMaxOffset);
  18427.  
  18428.  
  18429. void __RPC_STUB IAMPushSource_SetMaxStreamOffset_Stub(
  18430.     IRpcStubBuffer *This,
  18431.     IRpcChannelBuffer *_pRpcChannelBuffer,
  18432.     PRPC_MESSAGE _pRpcMessage,
  18433.     DWORD *_pdwStubPhase);
  18434.  
  18435.  
  18436.  
  18437. #endif     /* __IAMPushSource_INTERFACE_DEFINED__ */
  18438.  
  18439.  
  18440. #ifndef __IAMDeviceRemoval_INTERFACE_DEFINED__
  18441. #define __IAMDeviceRemoval_INTERFACE_DEFINED__
  18442.  
  18443. /* interface IAMDeviceRemoval */
  18444. /* [unique][uuid][object] */ 
  18445.  
  18446.  
  18447. EXTERN_C const IID IID_IAMDeviceRemoval;
  18448.  
  18449. #if defined(__cplusplus) && !defined(CINTERFACE)
  18450.     
  18451.     MIDL_INTERFACE("f90a6130-b658-11d2-ae49-0000f8754b99")
  18452.     IAMDeviceRemoval : public IUnknown
  18453.     {
  18454.     public:
  18455.         virtual HRESULT STDMETHODCALLTYPE DeviceInfo( 
  18456.             /* [out] */ CLSID *pclsidInterfaceClass,
  18457.             /* [out] */ WCHAR **pwszSymbolicLink) = 0;
  18458.         
  18459.         virtual HRESULT STDMETHODCALLTYPE Reassociate( void) = 0;
  18460.         
  18461.         virtual HRESULT STDMETHODCALLTYPE Disassociate( void) = 0;
  18462.         
  18463.     };
  18464.     
  18465. #else     /* C style interface */
  18466.  
  18467.     typedef struct IAMDeviceRemovalVtbl
  18468.     {
  18469.         BEGIN_INTERFACE
  18470.         
  18471.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  18472.             IAMDeviceRemoval * This,
  18473.             /* [in] */ REFIID riid,
  18474.             /* [iid_is][out] */ void **ppvObject);
  18475.         
  18476.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  18477.             IAMDeviceRemoval * This);
  18478.         
  18479.         ULONG ( STDMETHODCALLTYPE *Release )( 
  18480.             IAMDeviceRemoval * This);
  18481.         
  18482.         HRESULT ( STDMETHODCALLTYPE *DeviceInfo )( 
  18483.             IAMDeviceRemoval * This,
  18484.             /* [out] */ CLSID *pclsidInterfaceClass,
  18485.             /* [out] */ WCHAR **pwszSymbolicLink);
  18486.         
  18487.         HRESULT ( STDMETHODCALLTYPE *Reassociate )( 
  18488.             IAMDeviceRemoval * This);
  18489.         
  18490.         HRESULT ( STDMETHODCALLTYPE *Disassociate )( 
  18491.             IAMDeviceRemoval * This);
  18492.         
  18493.         END_INTERFACE
  18494.     } IAMDeviceRemovalVtbl;
  18495.  
  18496.     interface IAMDeviceRemoval
  18497.     {
  18498.         CONST_VTBL struct IAMDeviceRemovalVtbl *lpVtbl;
  18499.     };
  18500.  
  18501.     
  18502.  
  18503. #ifdef COBJMACROS
  18504.  
  18505.  
  18506. #define IAMDeviceRemoval_QueryInterface(This,riid,ppvObject)    \
  18507.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  18508.  
  18509. #define IAMDeviceRemoval_AddRef(This)    \
  18510.     (This)->lpVtbl -> AddRef(This)
  18511.  
  18512. #define IAMDeviceRemoval_Release(This)    \
  18513.     (This)->lpVtbl -> Release(This)
  18514.  
  18515.  
  18516. #define IAMDeviceRemoval_DeviceInfo(This,pclsidInterfaceClass,pwszSymbolicLink)    \
  18517.     (This)->lpVtbl -> DeviceInfo(This,pclsidInterfaceClass,pwszSymbolicLink)
  18518.  
  18519. #define IAMDeviceRemoval_Reassociate(This)    \
  18520.     (This)->lpVtbl -> Reassociate(This)
  18521.  
  18522. #define IAMDeviceRemoval_Disassociate(This)    \
  18523.     (This)->lpVtbl -> Disassociate(This)
  18524.  
  18525. #endif /* COBJMACROS */
  18526.  
  18527.  
  18528. #endif     /* C style interface */
  18529.  
  18530.  
  18531.  
  18532. HRESULT STDMETHODCALLTYPE IAMDeviceRemoval_DeviceInfo_Proxy( 
  18533.     IAMDeviceRemoval * This,
  18534.     /* [out] */ CLSID *pclsidInterfaceClass,
  18535.     /* [out] */ WCHAR **pwszSymbolicLink);
  18536.  
  18537.  
  18538. void __RPC_STUB IAMDeviceRemoval_DeviceInfo_Stub(
  18539.     IRpcStubBuffer *This,
  18540.     IRpcChannelBuffer *_pRpcChannelBuffer,
  18541.     PRPC_MESSAGE _pRpcMessage,
  18542.     DWORD *_pdwStubPhase);
  18543.  
  18544.  
  18545. HRESULT STDMETHODCALLTYPE IAMDeviceRemoval_Reassociate_Proxy( 
  18546.     IAMDeviceRemoval * This);
  18547.  
  18548.  
  18549. void __RPC_STUB IAMDeviceRemoval_Reassociate_Stub(
  18550.     IRpcStubBuffer *This,
  18551.     IRpcChannelBuffer *_pRpcChannelBuffer,
  18552.     PRPC_MESSAGE _pRpcMessage,
  18553.     DWORD *_pdwStubPhase);
  18554.  
  18555.  
  18556. HRESULT STDMETHODCALLTYPE IAMDeviceRemoval_Disassociate_Proxy( 
  18557.     IAMDeviceRemoval * This);
  18558.  
  18559.  
  18560. void __RPC_STUB IAMDeviceRemoval_Disassociate_Stub(
  18561.     IRpcStubBuffer *This,
  18562.     IRpcChannelBuffer *_pRpcChannelBuffer,
  18563.     PRPC_MESSAGE _pRpcMessage,
  18564.     DWORD *_pdwStubPhase);
  18565.  
  18566.  
  18567.  
  18568. #endif     /* __IAMDeviceRemoval_INTERFACE_DEFINED__ */
  18569.  
  18570.  
  18571. /* interface __MIDL_itf_strmif_0339 */
  18572. /* [local] */ 
  18573.  
  18574. typedef /* [public][public][public] */ struct __MIDL___MIDL_itf_strmif_0339_0001
  18575.     {
  18576.     DWORD dwDVAAuxSrc;
  18577.     DWORD dwDVAAuxCtl;
  18578.     DWORD dwDVAAuxSrc1;
  18579.     DWORD dwDVAAuxCtl1;
  18580.     DWORD dwDVVAuxSrc;
  18581.     DWORD dwDVVAuxCtl;
  18582.     DWORD dwDVReserved[ 2 ];
  18583.     }     DVINFO;
  18584.  
  18585. typedef struct __MIDL___MIDL_itf_strmif_0339_0001 *PDVINFO;
  18586.  
  18587.  
  18588. enum _DVENCODERRESOLUTION
  18589.     {    DVENCODERRESOLUTION_720x480    = 2012,
  18590.     DVENCODERRESOLUTION_360x240    = 2013,
  18591.     DVENCODERRESOLUTION_180x120    = 2014,
  18592.     DVENCODERRESOLUTION_88x60    = 2015
  18593.     } ;
  18594.  
  18595. enum _DVENCODERVIDEOFORMAT
  18596.     {    DVENCODERVIDEOFORMAT_NTSC    = 2000,
  18597.     DVENCODERVIDEOFORMAT_PAL    = 2001
  18598.     } ;
  18599.  
  18600. enum _DVENCODERFORMAT
  18601.     {    DVENCODERFORMAT_DVSD    = 2007,
  18602.     DVENCODERFORMAT_DVHD    = 2008,
  18603.     DVENCODERFORMAT_DVSL    = 2009
  18604.     } ;
  18605.  
  18606.  
  18607. extern RPC_IF_HANDLE __MIDL_itf_strmif_0339_v0_0_c_ifspec;
  18608. extern RPC_IF_HANDLE __MIDL_itf_strmif_0339_v0_0_s_ifspec;
  18609.  
  18610. #ifndef __IDVEnc_INTERFACE_DEFINED__
  18611. #define __IDVEnc_INTERFACE_DEFINED__
  18612.  
  18613. /* interface IDVEnc */
  18614. /* [unique][uuid][object] */ 
  18615.  
  18616.  
  18617. EXTERN_C const IID IID_IDVEnc;
  18618.  
  18619. #if defined(__cplusplus) && !defined(CINTERFACE)
  18620.     
  18621.     MIDL_INTERFACE("d18e17a0-aacb-11d0-afb0-00aa00b67a42")
  18622.     IDVEnc : public IUnknown
  18623.     {
  18624.     public:
  18625.         virtual HRESULT STDMETHODCALLTYPE get_IFormatResolution( 
  18626.             /* [out] */ int *VideoFormat,
  18627.             /* [out] */ int *DVFormat,
  18628.             /* [out] */ int *Resolution,
  18629.             /* [in] */ BYTE fDVInfo,
  18630.             /* [out] */ DVINFO *sDVInfo) = 0;
  18631.         
  18632.         virtual HRESULT STDMETHODCALLTYPE put_IFormatResolution( 
  18633.             /* [in] */ int VideoFormat,
  18634.             /* [in] */ int DVFormat,
  18635.             /* [in] */ int Resolution,
  18636.             /* [in] */ BYTE fDVInfo,
  18637.             /* [in] */ DVINFO *sDVInfo) = 0;
  18638.         
  18639.     };
  18640.     
  18641. #else     /* C style interface */
  18642.  
  18643.     typedef struct IDVEncVtbl
  18644.     {
  18645.         BEGIN_INTERFACE
  18646.         
  18647.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  18648.             IDVEnc * This,
  18649.             /* [in] */ REFIID riid,
  18650.             /* [iid_is][out] */ void **ppvObject);
  18651.         
  18652.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  18653.             IDVEnc * This);
  18654.         
  18655.         ULONG ( STDMETHODCALLTYPE *Release )( 
  18656.             IDVEnc * This);
  18657.         
  18658.         HRESULT ( STDMETHODCALLTYPE *get_IFormatResolution )( 
  18659.             IDVEnc * This,
  18660.             /* [out] */ int *VideoFormat,
  18661.             /* [out] */ int *DVFormat,
  18662.             /* [out] */ int *Resolution,
  18663.             /* [in] */ BYTE fDVInfo,
  18664.             /* [out] */ DVINFO *sDVInfo);
  18665.         
  18666.         HRESULT ( STDMETHODCALLTYPE *put_IFormatResolution )( 
  18667.             IDVEnc * This,
  18668.             /* [in] */ int VideoFormat,
  18669.             /* [in] */ int DVFormat,
  18670.             /* [in] */ int Resolution,
  18671.             /* [in] */ BYTE fDVInfo,
  18672.             /* [in] */ DVINFO *sDVInfo);
  18673.         
  18674.         END_INTERFACE
  18675.     } IDVEncVtbl;
  18676.  
  18677.     interface IDVEnc
  18678.     {
  18679.         CONST_VTBL struct IDVEncVtbl *lpVtbl;
  18680.     };
  18681.  
  18682.     
  18683.  
  18684. #ifdef COBJMACROS
  18685.  
  18686.  
  18687. #define IDVEnc_QueryInterface(This,riid,ppvObject)    \
  18688.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  18689.  
  18690. #define IDVEnc_AddRef(This)    \
  18691.     (This)->lpVtbl -> AddRef(This)
  18692.  
  18693. #define IDVEnc_Release(This)    \
  18694.     (This)->lpVtbl -> Release(This)
  18695.  
  18696.  
  18697. #define IDVEnc_get_IFormatResolution(This,VideoFormat,DVFormat,Resolution,fDVInfo,sDVInfo)    \
  18698.     (This)->lpVtbl -> get_IFormatResolution(This,VideoFormat,DVFormat,Resolution,fDVInfo,sDVInfo)
  18699.  
  18700. #define IDVEnc_put_IFormatResolution(This,VideoFormat,DVFormat,Resolution,fDVInfo,sDVInfo)    \
  18701.     (This)->lpVtbl -> put_IFormatResolution(This,VideoFormat,DVFormat,Resolution,fDVInfo,sDVInfo)
  18702.  
  18703. #endif /* COBJMACROS */
  18704.  
  18705.  
  18706. #endif     /* C style interface */
  18707.  
  18708.  
  18709.  
  18710. HRESULT STDMETHODCALLTYPE IDVEnc_get_IFormatResolution_Proxy( 
  18711.     IDVEnc * This,
  18712.     /* [out] */ int *VideoFormat,
  18713.     /* [out] */ int *DVFormat,
  18714.     /* [out] */ int *Resolution,
  18715.     /* [in] */ BYTE fDVInfo,
  18716.     /* [out] */ DVINFO *sDVInfo);
  18717.  
  18718.  
  18719. void __RPC_STUB IDVEnc_get_IFormatResolution_Stub(
  18720.     IRpcStubBuffer *This,
  18721.     IRpcChannelBuffer *_pRpcChannelBuffer,
  18722.     PRPC_MESSAGE _pRpcMessage,
  18723.     DWORD *_pdwStubPhase);
  18724.  
  18725.  
  18726. HRESULT STDMETHODCALLTYPE IDVEnc_put_IFormatResolution_Proxy( 
  18727.     IDVEnc * This,
  18728.     /* [in] */ int VideoFormat,
  18729.     /* [in] */ int DVFormat,
  18730.     /* [in] */ int Resolution,
  18731.     /* [in] */ BYTE fDVInfo,
  18732.     /* [in] */ DVINFO *sDVInfo);
  18733.  
  18734.  
  18735. void __RPC_STUB IDVEnc_put_IFormatResolution_Stub(
  18736.     IRpcStubBuffer *This,
  18737.     IRpcChannelBuffer *_pRpcChannelBuffer,
  18738.     PRPC_MESSAGE _pRpcMessage,
  18739.     DWORD *_pdwStubPhase);
  18740.  
  18741.  
  18742.  
  18743. #endif     /* __IDVEnc_INTERFACE_DEFINED__ */
  18744.  
  18745.  
  18746. /* interface __MIDL_itf_strmif_0340 */
  18747. /* [local] */ 
  18748.  
  18749.  
  18750. enum _DVDECODERRESOLUTION
  18751.     {    DVDECODERRESOLUTION_720x480    = 1000,
  18752.     DVDECODERRESOLUTION_360x240    = 1001,
  18753.     DVDECODERRESOLUTION_180x120    = 1002,
  18754.     DVDECODERRESOLUTION_88x60    = 1003
  18755.     } ;
  18756.  
  18757. enum _DVRESOLUTION
  18758.     {    DVRESOLUTION_FULL    = 1000,
  18759.     DVRESOLUTION_HALF    = 1001,
  18760.     DVRESOLUTION_QUARTER    = 1002,
  18761.     DVRESOLUTION_DC    = 1003
  18762.     } ;
  18763.  
  18764.  
  18765. extern RPC_IF_HANDLE __MIDL_itf_strmif_0340_v0_0_c_ifspec;
  18766. extern RPC_IF_HANDLE __MIDL_itf_strmif_0340_v0_0_s_ifspec;
  18767.  
  18768. #ifndef __IIPDVDec_INTERFACE_DEFINED__
  18769. #define __IIPDVDec_INTERFACE_DEFINED__
  18770.  
  18771. /* interface IIPDVDec */
  18772. /* [unique][uuid][object] */ 
  18773.  
  18774.  
  18775. EXTERN_C const IID IID_IIPDVDec;
  18776.  
  18777. #if defined(__cplusplus) && !defined(CINTERFACE)
  18778.     
  18779.     MIDL_INTERFACE("b8e8bd60-0bfe-11d0-af91-00aa00b67a42")
  18780.     IIPDVDec : public IUnknown
  18781.     {
  18782.     public:
  18783.         virtual HRESULT STDMETHODCALLTYPE get_IPDisplay( 
  18784.             /* [out] */ int *displayPix) = 0;
  18785.         
  18786.         virtual HRESULT STDMETHODCALLTYPE put_IPDisplay( 
  18787.             /* [in] */ int displayPix) = 0;
  18788.         
  18789.     };
  18790.     
  18791. #else     /* C style interface */
  18792.  
  18793.     typedef struct IIPDVDecVtbl
  18794.     {
  18795.         BEGIN_INTERFACE
  18796.         
  18797.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  18798.             IIPDVDec * This,
  18799.             /* [in] */ REFIID riid,
  18800.             /* [iid_is][out] */ void **ppvObject);
  18801.         
  18802.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  18803.             IIPDVDec * This);
  18804.         
  18805.         ULONG ( STDMETHODCALLTYPE *Release )( 
  18806.             IIPDVDec * This);
  18807.         
  18808.         HRESULT ( STDMETHODCALLTYPE *get_IPDisplay )( 
  18809.             IIPDVDec * This,
  18810.             /* [out] */ int *displayPix);
  18811.         
  18812.         HRESULT ( STDMETHODCALLTYPE *put_IPDisplay )( 
  18813.             IIPDVDec * This,
  18814.             /* [in] */ int displayPix);
  18815.         
  18816.         END_INTERFACE
  18817.     } IIPDVDecVtbl;
  18818.  
  18819.     interface IIPDVDec
  18820.     {
  18821.         CONST_VTBL struct IIPDVDecVtbl *lpVtbl;
  18822.     };
  18823.  
  18824.     
  18825.  
  18826. #ifdef COBJMACROS
  18827.  
  18828.  
  18829. #define IIPDVDec_QueryInterface(This,riid,ppvObject)    \
  18830.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  18831.  
  18832. #define IIPDVDec_AddRef(This)    \
  18833.     (This)->lpVtbl -> AddRef(This)
  18834.  
  18835. #define IIPDVDec_Release(This)    \
  18836.     (This)->lpVtbl -> Release(This)
  18837.  
  18838.  
  18839. #define IIPDVDec_get_IPDisplay(This,displayPix)    \
  18840.     (This)->lpVtbl -> get_IPDisplay(This,displayPix)
  18841.  
  18842. #define IIPDVDec_put_IPDisplay(This,displayPix)    \
  18843.     (This)->lpVtbl -> put_IPDisplay(This,displayPix)
  18844.  
  18845. #endif /* COBJMACROS */
  18846.  
  18847.  
  18848. #endif     /* C style interface */
  18849.  
  18850.  
  18851.  
  18852. HRESULT STDMETHODCALLTYPE IIPDVDec_get_IPDisplay_Proxy( 
  18853.     IIPDVDec * This,
  18854.     /* [out] */ int *displayPix);
  18855.  
  18856.  
  18857. void __RPC_STUB IIPDVDec_get_IPDisplay_Stub(
  18858.     IRpcStubBuffer *This,
  18859.     IRpcChannelBuffer *_pRpcChannelBuffer,
  18860.     PRPC_MESSAGE _pRpcMessage,
  18861.     DWORD *_pdwStubPhase);
  18862.  
  18863.  
  18864. HRESULT STDMETHODCALLTYPE IIPDVDec_put_IPDisplay_Proxy( 
  18865.     IIPDVDec * This,
  18866.     /* [in] */ int displayPix);
  18867.  
  18868.  
  18869. void __RPC_STUB IIPDVDec_put_IPDisplay_Stub(
  18870.     IRpcStubBuffer *This,
  18871.     IRpcChannelBuffer *_pRpcChannelBuffer,
  18872.     PRPC_MESSAGE _pRpcMessage,
  18873.     DWORD *_pdwStubPhase);
  18874.  
  18875.  
  18876.  
  18877. #endif     /* __IIPDVDec_INTERFACE_DEFINED__ */
  18878.  
  18879.  
  18880. #ifndef __IDVSplitter_INTERFACE_DEFINED__
  18881. #define __IDVSplitter_INTERFACE_DEFINED__
  18882.  
  18883. /* interface IDVSplitter */
  18884. /* [uuid][object] */ 
  18885.  
  18886.  
  18887. EXTERN_C const IID IID_IDVSplitter;
  18888.  
  18889. #if defined(__cplusplus) && !defined(CINTERFACE)
  18890.     
  18891.     MIDL_INTERFACE("92a3a302-da7c-4a1f-ba7e-1802bb5d2d02")
  18892.     IDVSplitter : public IUnknown
  18893.     {
  18894.     public:
  18895.         virtual HRESULT STDMETHODCALLTYPE DiscardAlternateVideoFrames( 
  18896.             /* [in] */ int nDiscard) = 0;
  18897.         
  18898.     };
  18899.     
  18900. #else     /* C style interface */
  18901.  
  18902.     typedef struct IDVSplitterVtbl
  18903.     {
  18904.         BEGIN_INTERFACE
  18905.         
  18906.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  18907.             IDVSplitter * This,
  18908.             /* [in] */ REFIID riid,
  18909.             /* [iid_is][out] */ void **ppvObject);
  18910.         
  18911.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  18912.             IDVSplitter * This);
  18913.         
  18914.         ULONG ( STDMETHODCALLTYPE *Release )( 
  18915.             IDVSplitter * This);
  18916.         
  18917.         HRESULT ( STDMETHODCALLTYPE *DiscardAlternateVideoFrames )( 
  18918.             IDVSplitter * This,
  18919.             /* [in] */ int nDiscard);
  18920.         
  18921.         END_INTERFACE
  18922.     } IDVSplitterVtbl;
  18923.  
  18924.     interface IDVSplitter
  18925.     {
  18926.         CONST_VTBL struct IDVSplitterVtbl *lpVtbl;
  18927.     };
  18928.  
  18929.     
  18930.  
  18931. #ifdef COBJMACROS
  18932.  
  18933.  
  18934. #define IDVSplitter_QueryInterface(This,riid,ppvObject)    \
  18935.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  18936.  
  18937. #define IDVSplitter_AddRef(This)    \
  18938.     (This)->lpVtbl -> AddRef(This)
  18939.  
  18940. #define IDVSplitter_Release(This)    \
  18941.     (This)->lpVtbl -> Release(This)
  18942.  
  18943.  
  18944. #define IDVSplitter_DiscardAlternateVideoFrames(This,nDiscard)    \
  18945.     (This)->lpVtbl -> DiscardAlternateVideoFrames(This,nDiscard)
  18946.  
  18947. #endif /* COBJMACROS */
  18948.  
  18949.  
  18950. #endif     /* C style interface */
  18951.  
  18952.  
  18953.  
  18954. HRESULT STDMETHODCALLTYPE IDVSplitter_DiscardAlternateVideoFrames_Proxy( 
  18955.     IDVSplitter * This,
  18956.     /* [in] */ int nDiscard);
  18957.  
  18958.  
  18959. void __RPC_STUB IDVSplitter_DiscardAlternateVideoFrames_Stub(
  18960.     IRpcStubBuffer *This,
  18961.     IRpcChannelBuffer *_pRpcChannelBuffer,
  18962.     PRPC_MESSAGE _pRpcMessage,
  18963.     DWORD *_pdwStubPhase);
  18964.  
  18965.  
  18966.  
  18967. #endif     /* __IDVSplitter_INTERFACE_DEFINED__ */
  18968.  
  18969.  
  18970. /* interface __MIDL_itf_strmif_0342 */
  18971. /* [local] */ 
  18972.  
  18973.  
  18974. enum _AM_AUDIO_RENDERER_STAT_PARAM
  18975.     {    AM_AUDREND_STAT_PARAM_BREAK_COUNT    = 1,
  18976.     AM_AUDREND_STAT_PARAM_SLAVE_MODE    = AM_AUDREND_STAT_PARAM_BREAK_COUNT + 1,
  18977.     AM_AUDREND_STAT_PARAM_SILENCE_DUR    = AM_AUDREND_STAT_PARAM_SLAVE_MODE + 1,
  18978.     AM_AUDREND_STAT_PARAM_LAST_BUFFER_DUR    = AM_AUDREND_STAT_PARAM_SILENCE_DUR + 1,
  18979.     AM_AUDREND_STAT_PARAM_DISCONTINUITIES    = AM_AUDREND_STAT_PARAM_LAST_BUFFER_DUR + 1,
  18980.     AM_AUDREND_STAT_PARAM_SLAVE_RATE    = AM_AUDREND_STAT_PARAM_DISCONTINUITIES + 1,
  18981.     AM_AUDREND_STAT_PARAM_SLAVE_DROPWRITE_DUR    = AM_AUDREND_STAT_PARAM_SLAVE_RATE + 1,
  18982.     AM_AUDREND_STAT_PARAM_SLAVE_HIGHLOWERROR    = AM_AUDREND_STAT_PARAM_SLAVE_DROPWRITE_DUR + 1,
  18983.     AM_AUDREND_STAT_PARAM_SLAVE_LASTHIGHLOWERROR    = AM_AUDREND_STAT_PARAM_SLAVE_HIGHLOWERROR + 1,
  18984.     AM_AUDREND_STAT_PARAM_SLAVE_ACCUMERROR    = AM_AUDREND_STAT_PARAM_SLAVE_LASTHIGHLOWERROR + 1,
  18985.     AM_AUDREND_STAT_PARAM_BUFFERFULLNESS    = AM_AUDREND_STAT_PARAM_SLAVE_ACCUMERROR + 1,
  18986.     AM_AUDREND_STAT_PARAM_JITTER    = AM_AUDREND_STAT_PARAM_BUFFERFULLNESS + 1
  18987.     } ;
  18988.  
  18989.  
  18990. extern RPC_IF_HANDLE __MIDL_itf_strmif_0342_v0_0_c_ifspec;
  18991. extern RPC_IF_HANDLE __MIDL_itf_strmif_0342_v0_0_s_ifspec;
  18992.  
  18993. #ifndef __IAMAudioRendererStats_INTERFACE_DEFINED__
  18994. #define __IAMAudioRendererStats_INTERFACE_DEFINED__
  18995.  
  18996. /* interface IAMAudioRendererStats */
  18997. /* [unique][uuid][object] */ 
  18998.  
  18999.  
  19000. EXTERN_C const IID IID_IAMAudioRendererStats;
  19001.  
  19002. #if defined(__cplusplus) && !defined(CINTERFACE)
  19003.     
  19004.     MIDL_INTERFACE("22320CB2-D41A-11d2-BF7C-D7CB9DF0BF93")
  19005.     IAMAudioRendererStats : public IUnknown
  19006.     {
  19007.     public:
  19008.         virtual HRESULT STDMETHODCALLTYPE GetStatParam( 
  19009.             /* [in] */ DWORD dwParam,
  19010.             /* [out] */ DWORD *pdwParam1,
  19011.             /* [out] */ DWORD *pdwParam2) = 0;
  19012.         
  19013.     };
  19014.     
  19015. #else     /* C style interface */
  19016.  
  19017.     typedef struct IAMAudioRendererStatsVtbl
  19018.     {
  19019.         BEGIN_INTERFACE
  19020.         
  19021.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  19022.             IAMAudioRendererStats * This,
  19023.             /* [in] */ REFIID riid,
  19024.             /* [iid_is][out] */ void **ppvObject);
  19025.         
  19026.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  19027.             IAMAudioRendererStats * This);
  19028.         
  19029.         ULONG ( STDMETHODCALLTYPE *Release )( 
  19030.             IAMAudioRendererStats * This);
  19031.         
  19032.         HRESULT ( STDMETHODCALLTYPE *GetStatParam )( 
  19033.             IAMAudioRendererStats * This,
  19034.             /* [in] */ DWORD dwParam,
  19035.             /* [out] */ DWORD *pdwParam1,
  19036.             /* [out] */ DWORD *pdwParam2);
  19037.         
  19038.         END_INTERFACE
  19039.     } IAMAudioRendererStatsVtbl;
  19040.  
  19041.     interface IAMAudioRendererStats
  19042.     {
  19043.         CONST_VTBL struct IAMAudioRendererStatsVtbl *lpVtbl;
  19044.     };
  19045.  
  19046.     
  19047.  
  19048. #ifdef COBJMACROS
  19049.  
  19050.  
  19051. #define IAMAudioRendererStats_QueryInterface(This,riid,ppvObject)    \
  19052.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  19053.  
  19054. #define IAMAudioRendererStats_AddRef(This)    \
  19055.     (This)->lpVtbl -> AddRef(This)
  19056.  
  19057. #define IAMAudioRendererStats_Release(This)    \
  19058.     (This)->lpVtbl -> Release(This)
  19059.  
  19060.  
  19061. #define IAMAudioRendererStats_GetStatParam(This,dwParam,pdwParam1,pdwParam2)    \
  19062.     (This)->lpVtbl -> GetStatParam(This,dwParam,pdwParam1,pdwParam2)
  19063.  
  19064. #endif /* COBJMACROS */
  19065.  
  19066.  
  19067. #endif     /* C style interface */
  19068.  
  19069.  
  19070.  
  19071. HRESULT STDMETHODCALLTYPE IAMAudioRendererStats_GetStatParam_Proxy( 
  19072.     IAMAudioRendererStats * This,
  19073.     /* [in] */ DWORD dwParam,
  19074.     /* [out] */ DWORD *pdwParam1,
  19075.     /* [out] */ DWORD *pdwParam2);
  19076.  
  19077.  
  19078. void __RPC_STUB IAMAudioRendererStats_GetStatParam_Stub(
  19079.     IRpcStubBuffer *This,
  19080.     IRpcChannelBuffer *_pRpcChannelBuffer,
  19081.     PRPC_MESSAGE _pRpcMessage,
  19082.     DWORD *_pdwStubPhase);
  19083.  
  19084.  
  19085.  
  19086. #endif     /* __IAMAudioRendererStats_INTERFACE_DEFINED__ */
  19087.  
  19088.  
  19089. /* interface __MIDL_itf_strmif_0344 */
  19090. /* [local] */ 
  19091.  
  19092.  
  19093. enum _AM_INTF_SEARCH_FLAGS
  19094.     {    AM_INTF_SEARCH_INPUT_PIN    = 0x1,
  19095.     AM_INTF_SEARCH_OUTPUT_PIN    = 0x2,
  19096.     AM_INTF_SEARCH_FILTER    = 0x4
  19097.     } ;
  19098.  
  19099.  
  19100. extern RPC_IF_HANDLE __MIDL_itf_strmif_0344_v0_0_c_ifspec;
  19101. extern RPC_IF_HANDLE __MIDL_itf_strmif_0344_v0_0_s_ifspec;
  19102.  
  19103. #ifndef __IAMGraphStreams_INTERFACE_DEFINED__
  19104. #define __IAMGraphStreams_INTERFACE_DEFINED__
  19105.  
  19106. /* interface IAMGraphStreams */
  19107. /* [unique][uuid][object] */ 
  19108.  
  19109.  
  19110. EXTERN_C const IID IID_IAMGraphStreams;
  19111.  
  19112. #if defined(__cplusplus) && !defined(CINTERFACE)
  19113.     
  19114.     MIDL_INTERFACE("632105FA-072E-11d3-8AF9-00C04FB6BD3D")
  19115.     IAMGraphStreams : public IUnknown
  19116.     {
  19117.     public:
  19118.         virtual HRESULT STDMETHODCALLTYPE FindUpstreamInterface( 
  19119.             /* [in] */ IPin *pPin,
  19120.             /* [in] */ REFIID riid,
  19121.             /* [iid_is][out] */ void **ppvInterface,
  19122.             /* [in] */ DWORD dwFlags) = 0;
  19123.         
  19124.         virtual HRESULT STDMETHODCALLTYPE SyncUsingStreamOffset( 
  19125.             /* [in] */ BOOL bUseStreamOffset) = 0;
  19126.         
  19127.         virtual HRESULT STDMETHODCALLTYPE SetMaxGraphLatency( 
  19128.             /* [in] */ REFERENCE_TIME rtMaxGraphLatency) = 0;
  19129.         
  19130.     };
  19131.     
  19132. #else     /* C style interface */
  19133.  
  19134.     typedef struct IAMGraphStreamsVtbl
  19135.     {
  19136.         BEGIN_INTERFACE
  19137.         
  19138.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  19139.             IAMGraphStreams * This,
  19140.             /* [in] */ REFIID riid,
  19141.             /* [iid_is][out] */ void **ppvObject);
  19142.         
  19143.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  19144.             IAMGraphStreams * This);
  19145.         
  19146.         ULONG ( STDMETHODCALLTYPE *Release )( 
  19147.             IAMGraphStreams * This);
  19148.         
  19149.         HRESULT ( STDMETHODCALLTYPE *FindUpstreamInterface )( 
  19150.             IAMGraphStreams * This,
  19151.             /* [in] */ IPin *pPin,
  19152.             /* [in] */ REFIID riid,
  19153.             /* [iid_is][out] */ void **ppvInterface,
  19154.             /* [in] */ DWORD dwFlags);
  19155.         
  19156.         HRESULT ( STDMETHODCALLTYPE *SyncUsingStreamOffset )( 
  19157.             IAMGraphStreams * This,
  19158.             /* [in] */ BOOL bUseStreamOffset);
  19159.         
  19160.         HRESULT ( STDMETHODCALLTYPE *SetMaxGraphLatency )( 
  19161.             IAMGraphStreams * This,
  19162.             /* [in] */ REFERENCE_TIME rtMaxGraphLatency);
  19163.         
  19164.         END_INTERFACE
  19165.     } IAMGraphStreamsVtbl;
  19166.  
  19167.     interface IAMGraphStreams
  19168.     {
  19169.         CONST_VTBL struct IAMGraphStreamsVtbl *lpVtbl;
  19170.     };
  19171.  
  19172.     
  19173.  
  19174. #ifdef COBJMACROS
  19175.  
  19176.  
  19177. #define IAMGraphStreams_QueryInterface(This,riid,ppvObject)    \
  19178.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  19179.  
  19180. #define IAMGraphStreams_AddRef(This)    \
  19181.     (This)->lpVtbl -> AddRef(This)
  19182.  
  19183. #define IAMGraphStreams_Release(This)    \
  19184.     (This)->lpVtbl -> Release(This)
  19185.  
  19186.  
  19187. #define IAMGraphStreams_FindUpstreamInterface(This,pPin,riid,ppvInterface,dwFlags)    \
  19188.     (This)->lpVtbl -> FindUpstreamInterface(This,pPin,riid,ppvInterface,dwFlags)
  19189.  
  19190. #define IAMGraphStreams_SyncUsingStreamOffset(This,bUseStreamOffset)    \
  19191.     (This)->lpVtbl -> SyncUsingStreamOffset(This,bUseStreamOffset)
  19192.  
  19193. #define IAMGraphStreams_SetMaxGraphLatency(This,rtMaxGraphLatency)    \
  19194.     (This)->lpVtbl -> SetMaxGraphLatency(This,rtMaxGraphLatency)
  19195.  
  19196. #endif /* COBJMACROS */
  19197.  
  19198.  
  19199. #endif     /* C style interface */
  19200.  
  19201.  
  19202.  
  19203. HRESULT STDMETHODCALLTYPE IAMGraphStreams_FindUpstreamInterface_Proxy( 
  19204.     IAMGraphStreams * This,
  19205.     /* [in] */ IPin *pPin,
  19206.     /* [in] */ REFIID riid,
  19207.     /* [iid_is][out] */ void **ppvInterface,
  19208.     /* [in] */ DWORD dwFlags);
  19209.  
  19210.  
  19211. void __RPC_STUB IAMGraphStreams_FindUpstreamInterface_Stub(
  19212.     IRpcStubBuffer *This,
  19213.     IRpcChannelBuffer *_pRpcChannelBuffer,
  19214.     PRPC_MESSAGE _pRpcMessage,
  19215.     DWORD *_pdwStubPhase);
  19216.  
  19217.  
  19218. HRESULT STDMETHODCALLTYPE IAMGraphStreams_SyncUsingStreamOffset_Proxy( 
  19219.     IAMGraphStreams * This,
  19220.     /* [in] */ BOOL bUseStreamOffset);
  19221.  
  19222.  
  19223. void __RPC_STUB IAMGraphStreams_SyncUsingStreamOffset_Stub(
  19224.     IRpcStubBuffer *This,
  19225.     IRpcChannelBuffer *_pRpcChannelBuffer,
  19226.     PRPC_MESSAGE _pRpcMessage,
  19227.     DWORD *_pdwStubPhase);
  19228.  
  19229.  
  19230. HRESULT STDMETHODCALLTYPE IAMGraphStreams_SetMaxGraphLatency_Proxy( 
  19231.     IAMGraphStreams * This,
  19232.     /* [in] */ REFERENCE_TIME rtMaxGraphLatency);
  19233.  
  19234.  
  19235. void __RPC_STUB IAMGraphStreams_SetMaxGraphLatency_Stub(
  19236.     IRpcStubBuffer *This,
  19237.     IRpcChannelBuffer *_pRpcChannelBuffer,
  19238.     PRPC_MESSAGE _pRpcMessage,
  19239.     DWORD *_pdwStubPhase);
  19240.  
  19241.  
  19242.  
  19243. #endif     /* __IAMGraphStreams_INTERFACE_DEFINED__ */
  19244.  
  19245.  
  19246. /* interface __MIDL_itf_strmif_0345 */
  19247. /* [local] */ 
  19248.  
  19249.  
  19250. enum AMOVERLAYFX
  19251.     {    AMOVERFX_NOFX    = 0,
  19252.     AMOVERFX_MIRRORLEFTRIGHT    = 0x2,
  19253.     AMOVERFX_MIRRORUPDOWN    = 0x4,
  19254.     AMOVERFX_DEINTERLACE    = 0x8
  19255.     } ;
  19256.  
  19257.  
  19258. extern RPC_IF_HANDLE __MIDL_itf_strmif_0345_v0_0_c_ifspec;
  19259. extern RPC_IF_HANDLE __MIDL_itf_strmif_0345_v0_0_s_ifspec;
  19260.  
  19261. #ifndef __IAMOverlayFX_INTERFACE_DEFINED__
  19262. #define __IAMOverlayFX_INTERFACE_DEFINED__
  19263.  
  19264. /* interface IAMOverlayFX */
  19265. /* [unique][uuid][object] */ 
  19266.  
  19267.  
  19268. EXTERN_C const IID IID_IAMOverlayFX;
  19269.  
  19270. #if defined(__cplusplus) && !defined(CINTERFACE)
  19271.     
  19272.     MIDL_INTERFACE("62fae250-7e65-4460-bfc9-6398b322073c")
  19273.     IAMOverlayFX : public IUnknown
  19274.     {
  19275.     public:
  19276.         virtual HRESULT STDMETHODCALLTYPE QueryOverlayFXCaps( 
  19277.             /* [out] */ DWORD *lpdwOverlayFXCaps) = 0;
  19278.         
  19279.         virtual HRESULT STDMETHODCALLTYPE SetOverlayFX( 
  19280.             /* [in] */ DWORD dwOverlayFX) = 0;
  19281.         
  19282.         virtual HRESULT STDMETHODCALLTYPE GetOverlayFX( 
  19283.             /* [out] */ DWORD *lpdwOverlayFX) = 0;
  19284.         
  19285.     };
  19286.     
  19287. #else     /* C style interface */
  19288.  
  19289.     typedef struct IAMOverlayFXVtbl
  19290.     {
  19291.         BEGIN_INTERFACE
  19292.         
  19293.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  19294.             IAMOverlayFX * This,
  19295.             /* [in] */ REFIID riid,
  19296.             /* [iid_is][out] */ void **ppvObject);
  19297.         
  19298.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  19299.             IAMOverlayFX * This);
  19300.         
  19301.         ULONG ( STDMETHODCALLTYPE *Release )( 
  19302.             IAMOverlayFX * This);
  19303.         
  19304.         HRESULT ( STDMETHODCALLTYPE *QueryOverlayFXCaps )( 
  19305.             IAMOverlayFX * This,
  19306.             /* [out] */ DWORD *lpdwOverlayFXCaps);
  19307.         
  19308.         HRESULT ( STDMETHODCALLTYPE *SetOverlayFX )( 
  19309.             IAMOverlayFX * This,
  19310.             /* [in] */ DWORD dwOverlayFX);
  19311.         
  19312.         HRESULT ( STDMETHODCALLTYPE *GetOverlayFX )( 
  19313.             IAMOverlayFX * This,
  19314.             /* [out] */ DWORD *lpdwOverlayFX);
  19315.         
  19316.         END_INTERFACE
  19317.     } IAMOverlayFXVtbl;
  19318.  
  19319.     interface IAMOverlayFX
  19320.     {
  19321.         CONST_VTBL struct IAMOverlayFXVtbl *lpVtbl;
  19322.     };
  19323.  
  19324.     
  19325.  
  19326. #ifdef COBJMACROS
  19327.  
  19328.  
  19329. #define IAMOverlayFX_QueryInterface(This,riid,ppvObject)    \
  19330.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  19331.  
  19332. #define IAMOverlayFX_AddRef(This)    \
  19333.     (This)->lpVtbl -> AddRef(This)
  19334.  
  19335. #define IAMOverlayFX_Release(This)    \
  19336.     (This)->lpVtbl -> Release(This)
  19337.  
  19338.  
  19339. #define IAMOverlayFX_QueryOverlayFXCaps(This,lpdwOverlayFXCaps)    \
  19340.     (This)->lpVtbl -> QueryOverlayFXCaps(This,lpdwOverlayFXCaps)
  19341.  
  19342. #define IAMOverlayFX_SetOverlayFX(This,dwOverlayFX)    \
  19343.     (This)->lpVtbl -> SetOverlayFX(This,dwOverlayFX)
  19344.  
  19345. #define IAMOverlayFX_GetOverlayFX(This,lpdwOverlayFX)    \
  19346.     (This)->lpVtbl -> GetOverlayFX(This,lpdwOverlayFX)
  19347.  
  19348. #endif /* COBJMACROS */
  19349.  
  19350.  
  19351. #endif     /* C style interface */
  19352.  
  19353.  
  19354.  
  19355. HRESULT STDMETHODCALLTYPE IAMOverlayFX_QueryOverlayFXCaps_Proxy( 
  19356.     IAMOverlayFX * This,
  19357.     /* [out] */ DWORD *lpdwOverlayFXCaps);
  19358.  
  19359.  
  19360. void __RPC_STUB IAMOverlayFX_QueryOverlayFXCaps_Stub(
  19361.     IRpcStubBuffer *This,
  19362.     IRpcChannelBuffer *_pRpcChannelBuffer,
  19363.     PRPC_MESSAGE _pRpcMessage,
  19364.     DWORD *_pdwStubPhase);
  19365.  
  19366.  
  19367. HRESULT STDMETHODCALLTYPE IAMOverlayFX_SetOverlayFX_Proxy( 
  19368.     IAMOverlayFX * This,
  19369.     /* [in] */ DWORD dwOverlayFX);
  19370.  
  19371.  
  19372. void __RPC_STUB IAMOverlayFX_SetOverlayFX_Stub(
  19373.     IRpcStubBuffer *This,
  19374.     IRpcChannelBuffer *_pRpcChannelBuffer,
  19375.     PRPC_MESSAGE _pRpcMessage,
  19376.     DWORD *_pdwStubPhase);
  19377.  
  19378.  
  19379. HRESULT STDMETHODCALLTYPE IAMOverlayFX_GetOverlayFX_Proxy( 
  19380.     IAMOverlayFX * This,
  19381.     /* [out] */ DWORD *lpdwOverlayFX);
  19382.  
  19383.  
  19384. void __RPC_STUB IAMOverlayFX_GetOverlayFX_Stub(
  19385.     IRpcStubBuffer *This,
  19386.     IRpcChannelBuffer *_pRpcChannelBuffer,
  19387.     PRPC_MESSAGE _pRpcMessage,
  19388.     DWORD *_pdwStubPhase);
  19389.  
  19390.  
  19391.  
  19392. #endif     /* __IAMOverlayFX_INTERFACE_DEFINED__ */
  19393.  
  19394.  
  19395. /* interface __MIDL_itf_strmif_0346 */
  19396. /* [local] */ 
  19397.  
  19398. #define __OP_H__
  19399.  
  19400.  
  19401. extern RPC_IF_HANDLE __MIDL_itf_strmif_0346_v0_0_c_ifspec;
  19402. extern RPC_IF_HANDLE __MIDL_itf_strmif_0346_v0_0_s_ifspec;
  19403.  
  19404. #ifndef __IAMOpenProgress_INTERFACE_DEFINED__
  19405. #define __IAMOpenProgress_INTERFACE_DEFINED__
  19406.  
  19407. /* interface IAMOpenProgress */
  19408. /* [unique][uuid][object] */ 
  19409.  
  19410.  
  19411. EXTERN_C const IID IID_IAMOpenProgress;
  19412.  
  19413. #if defined(__cplusplus) && !defined(CINTERFACE)
  19414.     
  19415.     MIDL_INTERFACE("8E1C39A1-DE53-11cf-AA63-0080C744528D")
  19416.     IAMOpenProgress : public IUnknown
  19417.     {
  19418.     public:
  19419.         virtual HRESULT STDMETHODCALLTYPE QueryProgress( 
  19420.             /* [out] */ LONGLONG *pllTotal,
  19421.             /* [out] */ LONGLONG *pllCurrent) = 0;
  19422.         
  19423.         virtual HRESULT STDMETHODCALLTYPE AbortOperation( void) = 0;
  19424.         
  19425.     };
  19426.     
  19427. #else     /* C style interface */
  19428.  
  19429.     typedef struct IAMOpenProgressVtbl
  19430.     {
  19431.         BEGIN_INTERFACE
  19432.         
  19433.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  19434.             IAMOpenProgress * This,
  19435.             /* [in] */ REFIID riid,
  19436.             /* [iid_is][out] */ void **ppvObject);
  19437.         
  19438.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  19439.             IAMOpenProgress * This);
  19440.         
  19441.         ULONG ( STDMETHODCALLTYPE *Release )( 
  19442.             IAMOpenProgress * This);
  19443.         
  19444.         HRESULT ( STDMETHODCALLTYPE *QueryProgress )( 
  19445.             IAMOpenProgress * This,
  19446.             /* [out] */ LONGLONG *pllTotal,
  19447.             /* [out] */ LONGLONG *pllCurrent);
  19448.         
  19449.         HRESULT ( STDMETHODCALLTYPE *AbortOperation )( 
  19450.             IAMOpenProgress * This);
  19451.         
  19452.         END_INTERFACE
  19453.     } IAMOpenProgressVtbl;
  19454.  
  19455.     interface IAMOpenProgress
  19456.     {
  19457.         CONST_VTBL struct IAMOpenProgressVtbl *lpVtbl;
  19458.     };
  19459.  
  19460.     
  19461.  
  19462. #ifdef COBJMACROS
  19463.  
  19464.  
  19465. #define IAMOpenProgress_QueryInterface(This,riid,ppvObject)    \
  19466.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  19467.  
  19468. #define IAMOpenProgress_AddRef(This)    \
  19469.     (This)->lpVtbl -> AddRef(This)
  19470.  
  19471. #define IAMOpenProgress_Release(This)    \
  19472.     (This)->lpVtbl -> Release(This)
  19473.  
  19474.  
  19475. #define IAMOpenProgress_QueryProgress(This,pllTotal,pllCurrent)    \
  19476.     (This)->lpVtbl -> QueryProgress(This,pllTotal,pllCurrent)
  19477.  
  19478. #define IAMOpenProgress_AbortOperation(This)    \
  19479.     (This)->lpVtbl -> AbortOperation(This)
  19480.  
  19481. #endif /* COBJMACROS */
  19482.  
  19483.  
  19484. #endif     /* C style interface */
  19485.  
  19486.  
  19487.  
  19488. HRESULT STDMETHODCALLTYPE IAMOpenProgress_QueryProgress_Proxy( 
  19489.     IAMOpenProgress * This,
  19490.     /* [out] */ LONGLONG *pllTotal,
  19491.     /* [out] */ LONGLONG *pllCurrent);
  19492.  
  19493.  
  19494. void __RPC_STUB IAMOpenProgress_QueryProgress_Stub(
  19495.     IRpcStubBuffer *This,
  19496.     IRpcChannelBuffer *_pRpcChannelBuffer,
  19497.     PRPC_MESSAGE _pRpcMessage,
  19498.     DWORD *_pdwStubPhase);
  19499.  
  19500.  
  19501. HRESULT STDMETHODCALLTYPE IAMOpenProgress_AbortOperation_Proxy( 
  19502.     IAMOpenProgress * This);
  19503.  
  19504.  
  19505. void __RPC_STUB IAMOpenProgress_AbortOperation_Stub(
  19506.     IRpcStubBuffer *This,
  19507.     IRpcChannelBuffer *_pRpcChannelBuffer,
  19508.     PRPC_MESSAGE _pRpcMessage,
  19509.     DWORD *_pdwStubPhase);
  19510.  
  19511.  
  19512.  
  19513. #endif     /* __IAMOpenProgress_INTERFACE_DEFINED__ */
  19514.  
  19515.  
  19516. #ifndef __IMpeg2Demultiplexer_INTERFACE_DEFINED__
  19517. #define __IMpeg2Demultiplexer_INTERFACE_DEFINED__
  19518.  
  19519. /* interface IMpeg2Demultiplexer */
  19520. /* [unique][uuid][local][object] */ 
  19521.  
  19522.  
  19523. EXTERN_C const IID IID_IMpeg2Demultiplexer;
  19524.  
  19525. #if defined(__cplusplus) && !defined(CINTERFACE)
  19526.     
  19527.     MIDL_INTERFACE("436eee9c-264f-4242-90e1-4e330c107512")
  19528.     IMpeg2Demultiplexer : public IUnknown
  19529.     {
  19530.     public:
  19531.         virtual HRESULT STDMETHODCALLTYPE CreateOutputPin( 
  19532.             /* [in] */ AM_MEDIA_TYPE *pMediaType,
  19533.             /* [in] */ LPWSTR pszPinName,
  19534.             /* [out] */ IPin **ppIPin) = 0;
  19535.         
  19536.         virtual HRESULT STDMETHODCALLTYPE SetOutputPinMediaType( 
  19537.             /* [in] */ LPWSTR pszPinName,
  19538.             /* [in] */ AM_MEDIA_TYPE *pMediaType) = 0;
  19539.         
  19540.         virtual HRESULT STDMETHODCALLTYPE DeleteOutputPin( 
  19541.             /* [in] */ LPWSTR pszPinName) = 0;
  19542.         
  19543.     };
  19544.     
  19545. #else     /* C style interface */
  19546.  
  19547.     typedef struct IMpeg2DemultiplexerVtbl
  19548.     {
  19549.         BEGIN_INTERFACE
  19550.         
  19551.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  19552.             IMpeg2Demultiplexer * This,
  19553.             /* [in] */ REFIID riid,
  19554.             /* [iid_is][out] */ void **ppvObject);
  19555.         
  19556.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  19557.             IMpeg2Demultiplexer * This);
  19558.         
  19559.         ULONG ( STDMETHODCALLTYPE *Release )( 
  19560.             IMpeg2Demultiplexer * This);
  19561.         
  19562.         HRESULT ( STDMETHODCALLTYPE *CreateOutputPin )( 
  19563.             IMpeg2Demultiplexer * This,
  19564.             /* [in] */ AM_MEDIA_TYPE *pMediaType,
  19565.             /* [in] */ LPWSTR pszPinName,
  19566.             /* [out] */ IPin **ppIPin);
  19567.         
  19568.         HRESULT ( STDMETHODCALLTYPE *SetOutputPinMediaType )( 
  19569.             IMpeg2Demultiplexer * This,
  19570.             /* [in] */ LPWSTR pszPinName,
  19571.             /* [in] */ AM_MEDIA_TYPE *pMediaType);
  19572.         
  19573.         HRESULT ( STDMETHODCALLTYPE *DeleteOutputPin )( 
  19574.             IMpeg2Demultiplexer * This,
  19575.             /* [in] */ LPWSTR pszPinName);
  19576.         
  19577.         END_INTERFACE
  19578.     } IMpeg2DemultiplexerVtbl;
  19579.  
  19580.     interface IMpeg2Demultiplexer
  19581.     {
  19582.         CONST_VTBL struct IMpeg2DemultiplexerVtbl *lpVtbl;
  19583.     };
  19584.  
  19585.     
  19586.  
  19587. #ifdef COBJMACROS
  19588.  
  19589.  
  19590. #define IMpeg2Demultiplexer_QueryInterface(This,riid,ppvObject)    \
  19591.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  19592.  
  19593. #define IMpeg2Demultiplexer_AddRef(This)    \
  19594.     (This)->lpVtbl -> AddRef(This)
  19595.  
  19596. #define IMpeg2Demultiplexer_Release(This)    \
  19597.     (This)->lpVtbl -> Release(This)
  19598.  
  19599.  
  19600. #define IMpeg2Demultiplexer_CreateOutputPin(This,pMediaType,pszPinName,ppIPin)    \
  19601.     (This)->lpVtbl -> CreateOutputPin(This,pMediaType,pszPinName,ppIPin)
  19602.  
  19603. #define IMpeg2Demultiplexer_SetOutputPinMediaType(This,pszPinName,pMediaType)    \
  19604.     (This)->lpVtbl -> SetOutputPinMediaType(This,pszPinName,pMediaType)
  19605.  
  19606. #define IMpeg2Demultiplexer_DeleteOutputPin(This,pszPinName)    \
  19607.     (This)->lpVtbl -> DeleteOutputPin(This,pszPinName)
  19608.  
  19609. #endif /* COBJMACROS */
  19610.  
  19611.  
  19612. #endif     /* C style interface */
  19613.  
  19614.  
  19615.  
  19616. HRESULT STDMETHODCALLTYPE IMpeg2Demultiplexer_CreateOutputPin_Proxy( 
  19617.     IMpeg2Demultiplexer * This,
  19618.     /* [in] */ AM_MEDIA_TYPE *pMediaType,
  19619.     /* [in] */ LPWSTR pszPinName,
  19620.     /* [out] */ IPin **ppIPin);
  19621.  
  19622.  
  19623. void __RPC_STUB IMpeg2Demultiplexer_CreateOutputPin_Stub(
  19624.     IRpcStubBuffer *This,
  19625.     IRpcChannelBuffer *_pRpcChannelBuffer,
  19626.     PRPC_MESSAGE _pRpcMessage,
  19627.     DWORD *_pdwStubPhase);
  19628.  
  19629.  
  19630. HRESULT STDMETHODCALLTYPE IMpeg2Demultiplexer_SetOutputPinMediaType_Proxy( 
  19631.     IMpeg2Demultiplexer * This,
  19632.     /* [in] */ LPWSTR pszPinName,
  19633.     /* [in] */ AM_MEDIA_TYPE *pMediaType);
  19634.  
  19635.  
  19636. void __RPC_STUB IMpeg2Demultiplexer_SetOutputPinMediaType_Stub(
  19637.     IRpcStubBuffer *This,
  19638.     IRpcChannelBuffer *_pRpcChannelBuffer,
  19639.     PRPC_MESSAGE _pRpcMessage,
  19640.     DWORD *_pdwStubPhase);
  19641.  
  19642.  
  19643. HRESULT STDMETHODCALLTYPE IMpeg2Demultiplexer_DeleteOutputPin_Proxy( 
  19644.     IMpeg2Demultiplexer * This,
  19645.     /* [in] */ LPWSTR pszPinName);
  19646.  
  19647.  
  19648. void __RPC_STUB IMpeg2Demultiplexer_DeleteOutputPin_Stub(
  19649.     IRpcStubBuffer *This,
  19650.     IRpcChannelBuffer *_pRpcChannelBuffer,
  19651.     PRPC_MESSAGE _pRpcMessage,
  19652.     DWORD *_pdwStubPhase);
  19653.  
  19654.  
  19655.  
  19656. #endif     /* __IMpeg2Demultiplexer_INTERFACE_DEFINED__ */
  19657.  
  19658.  
  19659. /* interface __MIDL_itf_strmif_0348 */
  19660. /* [local] */ 
  19661.  
  19662. #define MPEG2_PROGRAM_STREAM_MAP                 0x00000000
  19663. #define MPEG2_PROGRAM_ELEMENTARY_STREAM          0x00000001
  19664. #define MPEG2_PROGRAM_DIRECTORY_PES_PACKET       0x00000002
  19665. #define MPEG2_PROGRAM_PACK_HEADER                0x00000003
  19666. #define MPEG2_PROGRAM_PES_STREAM                 0x00000004
  19667. #define MPEG2_PROGRAM_SYSTEM_HEADER              0x00000005
  19668. #define SUBSTREAM_FILTER_VAL_NONE                0x10000000
  19669. typedef /* [public][public] */ struct __MIDL___MIDL_itf_strmif_0348_0001
  19670.     {
  19671.     ULONG stream_id;
  19672.     DWORD dwMediaSampleContent;
  19673.     ULONG ulSubstreamFilterValue;
  19674.     int iDataOffset;
  19675.     }     STREAM_ID_MAP;
  19676.  
  19677.  
  19678.  
  19679. extern RPC_IF_HANDLE __MIDL_itf_strmif_0348_v0_0_c_ifspec;
  19680. extern RPC_IF_HANDLE __MIDL_itf_strmif_0348_v0_0_s_ifspec;
  19681.  
  19682. #ifndef __IEnumStreamIdMap_INTERFACE_DEFINED__
  19683. #define __IEnumStreamIdMap_INTERFACE_DEFINED__
  19684.  
  19685. /* interface IEnumStreamIdMap */
  19686. /* [unique][uuid][local][object] */ 
  19687.  
  19688.  
  19689. EXTERN_C const IID IID_IEnumStreamIdMap;
  19690.  
  19691. #if defined(__cplusplus) && !defined(CINTERFACE)
  19692.     
  19693.     MIDL_INTERFACE("945C1566-6202-46fc-96C7-D87F289C6534")
  19694.     IEnumStreamIdMap : public IUnknown
  19695.     {
  19696.     public:
  19697.         virtual HRESULT STDMETHODCALLTYPE Next( 
  19698.             /* [in] */ ULONG cRequest,
  19699.             /* [size_is][out][in] */ STREAM_ID_MAP *pStreamIdMap,
  19700.             /* [out] */ ULONG *pcReceived) = 0;
  19701.         
  19702.         virtual HRESULT STDMETHODCALLTYPE Skip( 
  19703.             /* [in] */ ULONG cRecords) = 0;
  19704.         
  19705.         virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;
  19706.         
  19707.         virtual HRESULT STDMETHODCALLTYPE Clone( 
  19708.             /* [out] */ IEnumStreamIdMap **ppIEnumStreamIdMap) = 0;
  19709.         
  19710.     };
  19711.     
  19712. #else     /* C style interface */
  19713.  
  19714.     typedef struct IEnumStreamIdMapVtbl
  19715.     {
  19716.         BEGIN_INTERFACE
  19717.         
  19718.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  19719.             IEnumStreamIdMap * This,
  19720.             /* [in] */ REFIID riid,
  19721.             /* [iid_is][out] */ void **ppvObject);
  19722.         
  19723.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  19724.             IEnumStreamIdMap * This);
  19725.         
  19726.         ULONG ( STDMETHODCALLTYPE *Release )( 
  19727.             IEnumStreamIdMap * This);
  19728.         
  19729.         HRESULT ( STDMETHODCALLTYPE *Next )( 
  19730.             IEnumStreamIdMap * This,
  19731.             /* [in] */ ULONG cRequest,
  19732.             /* [size_is][out][in] */ STREAM_ID_MAP *pStreamIdMap,
  19733.             /* [out] */ ULONG *pcReceived);
  19734.         
  19735.         HRESULT ( STDMETHODCALLTYPE *Skip )( 
  19736.             IEnumStreamIdMap * This,
  19737.             /* [in] */ ULONG cRecords);
  19738.         
  19739.         HRESULT ( STDMETHODCALLTYPE *Reset )( 
  19740.             IEnumStreamIdMap * This);
  19741.         
  19742.         HRESULT ( STDMETHODCALLTYPE *Clone )( 
  19743.             IEnumStreamIdMap * This,
  19744.             /* [out] */ IEnumStreamIdMap **ppIEnumStreamIdMap);
  19745.         
  19746.         END_INTERFACE
  19747.     } IEnumStreamIdMapVtbl;
  19748.  
  19749.     interface IEnumStreamIdMap
  19750.     {
  19751.         CONST_VTBL struct IEnumStreamIdMapVtbl *lpVtbl;
  19752.     };
  19753.  
  19754.     
  19755.  
  19756. #ifdef COBJMACROS
  19757.  
  19758.  
  19759. #define IEnumStreamIdMap_QueryInterface(This,riid,ppvObject)    \
  19760.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  19761.  
  19762. #define IEnumStreamIdMap_AddRef(This)    \
  19763.     (This)->lpVtbl -> AddRef(This)
  19764.  
  19765. #define IEnumStreamIdMap_Release(This)    \
  19766.     (This)->lpVtbl -> Release(This)
  19767.  
  19768.  
  19769. #define IEnumStreamIdMap_Next(This,cRequest,pStreamIdMap,pcReceived)    \
  19770.     (This)->lpVtbl -> Next(This,cRequest,pStreamIdMap,pcReceived)
  19771.  
  19772. #define IEnumStreamIdMap_Skip(This,cRecords)    \
  19773.     (This)->lpVtbl -> Skip(This,cRecords)
  19774.  
  19775. #define IEnumStreamIdMap_Reset(This)    \
  19776.     (This)->lpVtbl -> Reset(This)
  19777.  
  19778. #define IEnumStreamIdMap_Clone(This,ppIEnumStreamIdMap)    \
  19779.     (This)->lpVtbl -> Clone(This,ppIEnumStreamIdMap)
  19780.  
  19781. #endif /* COBJMACROS */
  19782.  
  19783.  
  19784. #endif     /* C style interface */
  19785.  
  19786.  
  19787.  
  19788. HRESULT STDMETHODCALLTYPE IEnumStreamIdMap_Next_Proxy( 
  19789.     IEnumStreamIdMap * This,
  19790.     /* [in] */ ULONG cRequest,
  19791.     /* [size_is][out][in] */ STREAM_ID_MAP *pStreamIdMap,
  19792.     /* [out] */ ULONG *pcReceived);
  19793.  
  19794.  
  19795. void __RPC_STUB IEnumStreamIdMap_Next_Stub(
  19796.     IRpcStubBuffer *This,
  19797.     IRpcChannelBuffer *_pRpcChannelBuffer,
  19798.     PRPC_MESSAGE _pRpcMessage,
  19799.     DWORD *_pdwStubPhase);
  19800.  
  19801.  
  19802. HRESULT STDMETHODCALLTYPE IEnumStreamIdMap_Skip_Proxy( 
  19803.     IEnumStreamIdMap * This,
  19804.     /* [in] */ ULONG cRecords);
  19805.  
  19806.  
  19807. void __RPC_STUB IEnumStreamIdMap_Skip_Stub(
  19808.     IRpcStubBuffer *This,
  19809.     IRpcChannelBuffer *_pRpcChannelBuffer,
  19810.     PRPC_MESSAGE _pRpcMessage,
  19811.     DWORD *_pdwStubPhase);
  19812.  
  19813.  
  19814. HRESULT STDMETHODCALLTYPE IEnumStreamIdMap_Reset_Proxy( 
  19815.     IEnumStreamIdMap * This);
  19816.  
  19817.  
  19818. void __RPC_STUB IEnumStreamIdMap_Reset_Stub(
  19819.     IRpcStubBuffer *This,
  19820.     IRpcChannelBuffer *_pRpcChannelBuffer,
  19821.     PRPC_MESSAGE _pRpcMessage,
  19822.     DWORD *_pdwStubPhase);
  19823.  
  19824.  
  19825. HRESULT STDMETHODCALLTYPE IEnumStreamIdMap_Clone_Proxy( 
  19826.     IEnumStreamIdMap * This,
  19827.     /* [out] */ IEnumStreamIdMap **ppIEnumStreamIdMap);
  19828.  
  19829.  
  19830. void __RPC_STUB IEnumStreamIdMap_Clone_Stub(
  19831.     IRpcStubBuffer *This,
  19832.     IRpcChannelBuffer *_pRpcChannelBuffer,
  19833.     PRPC_MESSAGE _pRpcMessage,
  19834.     DWORD *_pdwStubPhase);
  19835.  
  19836.  
  19837.  
  19838. #endif     /* __IEnumStreamIdMap_INTERFACE_DEFINED__ */
  19839.  
  19840.  
  19841. #ifndef __IMPEG2StreamIdMap_INTERFACE_DEFINED__
  19842. #define __IMPEG2StreamIdMap_INTERFACE_DEFINED__
  19843.  
  19844. /* interface IMPEG2StreamIdMap */
  19845. /* [unique][uuid][local][object] */ 
  19846.  
  19847.  
  19848. EXTERN_C const IID IID_IMPEG2StreamIdMap;
  19849.  
  19850. #if defined(__cplusplus) && !defined(CINTERFACE)
  19851.     
  19852.     MIDL_INTERFACE("D0E04C47-25B8-4369-925A-362A01D95444")
  19853.     IMPEG2StreamIdMap : public IUnknown
  19854.     {
  19855.     public:
  19856.         virtual HRESULT STDMETHODCALLTYPE MapStreamId( 
  19857.             /* [in] */ ULONG ulStreamId,
  19858.             /* [in] */ DWORD MediaSampleContent,
  19859.             /* [in] */ ULONG ulSubstreamFilterValue,
  19860.             /* [in] */ int iDataOffset) = 0;
  19861.         
  19862.         virtual HRESULT STDMETHODCALLTYPE UnmapStreamId( 
  19863.             /* [in] */ ULONG culStreamId,
  19864.             /* [in] */ ULONG *pulStreamId) = 0;
  19865.         
  19866.         virtual HRESULT STDMETHODCALLTYPE EnumStreamIdMap( 
  19867.             /* [out] */ IEnumStreamIdMap **ppIEnumStreamIdMap) = 0;
  19868.         
  19869.     };
  19870.     
  19871. #else     /* C style interface */
  19872.  
  19873.     typedef struct IMPEG2StreamIdMapVtbl
  19874.     {
  19875.         BEGIN_INTERFACE
  19876.         
  19877.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  19878.             IMPEG2StreamIdMap * This,
  19879.             /* [in] */ REFIID riid,
  19880.             /* [iid_is][out] */ void **ppvObject);
  19881.         
  19882.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  19883.             IMPEG2StreamIdMap * This);
  19884.         
  19885.         ULONG ( STDMETHODCALLTYPE *Release )( 
  19886.             IMPEG2StreamIdMap * This);
  19887.         
  19888.         HRESULT ( STDMETHODCALLTYPE *MapStreamId )( 
  19889.             IMPEG2StreamIdMap * This,
  19890.             /* [in] */ ULONG ulStreamId,
  19891.             /* [in] */ DWORD MediaSampleContent,
  19892.             /* [in] */ ULONG ulSubstreamFilterValue,
  19893.             /* [in] */ int iDataOffset);
  19894.         
  19895.         HRESULT ( STDMETHODCALLTYPE *UnmapStreamId )( 
  19896.             IMPEG2StreamIdMap * This,
  19897.             /* [in] */ ULONG culStreamId,
  19898.             /* [in] */ ULONG *pulStreamId);
  19899.         
  19900.         HRESULT ( STDMETHODCALLTYPE *EnumStreamIdMap )( 
  19901.             IMPEG2StreamIdMap * This,
  19902.             /* [out] */ IEnumStreamIdMap **ppIEnumStreamIdMap);
  19903.         
  19904.         END_INTERFACE
  19905.     } IMPEG2StreamIdMapVtbl;
  19906.  
  19907.     interface IMPEG2StreamIdMap
  19908.     {
  19909.         CONST_VTBL struct IMPEG2StreamIdMapVtbl *lpVtbl;
  19910.     };
  19911.  
  19912.     
  19913.  
  19914. #ifdef COBJMACROS
  19915.  
  19916.  
  19917. #define IMPEG2StreamIdMap_QueryInterface(This,riid,ppvObject)    \
  19918.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  19919.  
  19920. #define IMPEG2StreamIdMap_AddRef(This)    \
  19921.     (This)->lpVtbl -> AddRef(This)
  19922.  
  19923. #define IMPEG2StreamIdMap_Release(This)    \
  19924.     (This)->lpVtbl -> Release(This)
  19925.  
  19926.  
  19927. #define IMPEG2StreamIdMap_MapStreamId(This,ulStreamId,MediaSampleContent,ulSubstreamFilterValue,iDataOffset)    \
  19928.     (This)->lpVtbl -> MapStreamId(This,ulStreamId,MediaSampleContent,ulSubstreamFilterValue,iDataOffset)
  19929.  
  19930. #define IMPEG2StreamIdMap_UnmapStreamId(This,culStreamId,pulStreamId)    \
  19931.     (This)->lpVtbl -> UnmapStreamId(This,culStreamId,pulStreamId)
  19932.  
  19933. #define IMPEG2StreamIdMap_EnumStreamIdMap(This,ppIEnumStreamIdMap)    \
  19934.     (This)->lpVtbl -> EnumStreamIdMap(This,ppIEnumStreamIdMap)
  19935.  
  19936. #endif /* COBJMACROS */
  19937.  
  19938.  
  19939. #endif     /* C style interface */
  19940.  
  19941.  
  19942.  
  19943. HRESULT STDMETHODCALLTYPE IMPEG2StreamIdMap_MapStreamId_Proxy( 
  19944.     IMPEG2StreamIdMap * This,
  19945.     /* [in] */ ULONG ulStreamId,
  19946.     /* [in] */ DWORD MediaSampleContent,
  19947.     /* [in] */ ULONG ulSubstreamFilterValue,
  19948.     /* [in] */ int iDataOffset);
  19949.  
  19950.  
  19951. void __RPC_STUB IMPEG2StreamIdMap_MapStreamId_Stub(
  19952.     IRpcStubBuffer *This,
  19953.     IRpcChannelBuffer *_pRpcChannelBuffer,
  19954.     PRPC_MESSAGE _pRpcMessage,
  19955.     DWORD *_pdwStubPhase);
  19956.  
  19957.  
  19958. HRESULT STDMETHODCALLTYPE IMPEG2StreamIdMap_UnmapStreamId_Proxy( 
  19959.     IMPEG2StreamIdMap * This,
  19960.     /* [in] */ ULONG culStreamId,
  19961.     /* [in] */ ULONG *pulStreamId);
  19962.  
  19963.  
  19964. void __RPC_STUB IMPEG2StreamIdMap_UnmapStreamId_Stub(
  19965.     IRpcStubBuffer *This,
  19966.     IRpcChannelBuffer *_pRpcChannelBuffer,
  19967.     PRPC_MESSAGE _pRpcMessage,
  19968.     DWORD *_pdwStubPhase);
  19969.  
  19970.  
  19971. HRESULT STDMETHODCALLTYPE IMPEG2StreamIdMap_EnumStreamIdMap_Proxy( 
  19972.     IMPEG2StreamIdMap * This,
  19973.     /* [out] */ IEnumStreamIdMap **ppIEnumStreamIdMap);
  19974.  
  19975.  
  19976. void __RPC_STUB IMPEG2StreamIdMap_EnumStreamIdMap_Stub(
  19977.     IRpcStubBuffer *This,
  19978.     IRpcChannelBuffer *_pRpcChannelBuffer,
  19979.     PRPC_MESSAGE _pRpcMessage,
  19980.     DWORD *_pdwStubPhase);
  19981.  
  19982.  
  19983.  
  19984. #endif     /* __IMPEG2StreamIdMap_INTERFACE_DEFINED__ */
  19985.  
  19986.  
  19987. #ifndef __IAMovie_INTERFACE_DEFINED__
  19988. #define __IAMovie_INTERFACE_DEFINED__
  19989.  
  19990. /* interface IAMovie */
  19991. /* [unique][uuid][object] */ 
  19992.  
  19993.  
  19994. EXTERN_C const IID IID_IAMovie;
  19995.  
  19996. #if defined(__cplusplus) && !defined(CINTERFACE)
  19997.     
  19998.     MIDL_INTERFACE("359ace10-7688-11cf-8b23-00805f6cef60")
  19999.     IAMovie : public IFilterGraph
  20000.     {
  20001.     public:
  20002.         virtual HRESULT STDMETHODCALLTYPE Connect( 
  20003.             /* [in] */ IPin *ppinOut,
  20004.             /* [in] */ IPin *ppinIn) = 0;
  20005.         
  20006.         virtual HRESULT STDMETHODCALLTYPE Render( 
  20007.             /* [in] */ IPin *ppinOut) = 0;
  20008.         
  20009.         virtual HRESULT STDMETHODCALLTYPE Run( void) = 0;
  20010.         
  20011.         virtual HRESULT STDMETHODCALLTYPE Pause( void) = 0;
  20012.         
  20013.         virtual HRESULT STDMETHODCALLTYPE Stop( void) = 0;
  20014.         
  20015.         virtual HRESULT STDMETHODCALLTYPE GetState( 
  20016.             /* [in] */ LONG msTimeout,
  20017.             /* [out] */ FILTER_STATE *pfs) = 0;
  20018.         
  20019.         virtual HRESULT STDMETHODCALLTYPE RenderFile( 
  20020.             /* [in] */ LPCWSTR strFilename) = 0;
  20021.         
  20022.         virtual HRESULT STDMETHODCALLTYPE AddSourceFilter( 
  20023.             /* [in] */ LPCWSTR strFilename,
  20024.             /* [out] */ IBaseFilter **ppUnk) = 0;
  20025.         
  20026.         virtual HRESULT STDMETHODCALLTYPE GetEventHandle( 
  20027.             /* [out] */ HEVENT *hEvent) = 0;
  20028.         
  20029.         virtual HRESULT STDMETHODCALLTYPE GetEvent( 
  20030.             /* [out] */ long *lEventCode,
  20031.             /* [out] */ long *lParam1,
  20032.             /* [out] */ long *lParam2,
  20033.             /* [in] */ long msTimeout) = 0;
  20034.         
  20035.         virtual HRESULT STDMETHODCALLTYPE WaitForCompletion( 
  20036.             /* [in] */ long msTimeout,
  20037.             /* [out] */ long *pEvCode) = 0;
  20038.         
  20039.         virtual HRESULT STDMETHODCALLTYPE CancelDefaultHandling( 
  20040.             /* [in] */ long lEvCode) = 0;
  20041.         
  20042.         virtual HRESULT STDMETHODCALLTYPE RestoreDefaultHandling( 
  20043.             /* [in] */ long lEvCode) = 0;
  20044.         
  20045.         virtual HRESULT STDMETHODCALLTYPE get_Duration( 
  20046.             /* [out] */ REFTIME *plength) = 0;
  20047.         
  20048.         virtual HRESULT STDMETHODCALLTYPE put_CurrentPosition( 
  20049.             /* [in] */ REFTIME llTime) = 0;
  20050.         
  20051.         virtual HRESULT STDMETHODCALLTYPE get_CurrentPosition( 
  20052.             /* [out] */ REFTIME *pllTime) = 0;
  20053.         
  20054.         virtual HRESULT STDMETHODCALLTYPE get_StopTime( 
  20055.             /* [out] */ REFTIME *pllTime) = 0;
  20056.         
  20057.         virtual HRESULT STDMETHODCALLTYPE put_StopTime( 
  20058.             /* [in] */ REFTIME llTime) = 0;
  20059.         
  20060.         virtual HRESULT STDMETHODCALLTYPE get_PrerollTime( 
  20061.             /* [out] */ REFTIME *pllTime) = 0;
  20062.         
  20063.         virtual HRESULT STDMETHODCALLTYPE put_PrerollTime( 
  20064.             /* [in] */ REFTIME llTime) = 0;
  20065.         
  20066.         virtual HRESULT STDMETHODCALLTYPE put_Rate( 
  20067.             /* [in] */ double dRate) = 0;
  20068.         
  20069.         virtual HRESULT STDMETHODCALLTYPE get_Rate( 
  20070.             /* [out] */ double *pdRate) = 0;
  20071.         
  20072.         virtual HRESULT STDMETHODCALLTYPE RemoveAllFilters( void) = 0;
  20073.         
  20074.         virtual HRESULT STDMETHODCALLTYPE Play( void) = 0;
  20075.         
  20076.         virtual HRESULT STDMETHODCALLTYPE PlayFile( 
  20077.             /* [in] */ LPCWSTR strFilename) = 0;
  20078.         
  20079.         virtual HRESULT STDMETHODCALLTYPE EnumFiltersByInterface( 
  20080.             /* [in] */ REFIID riid,
  20081.             /* [out] */ IEnumFilters **ppEnum) = 0;
  20082.         
  20083.         virtual HRESULT STDMETHODCALLTYPE EnumPins( 
  20084.             /* [out] */ IEnumPins **ppEnum) = 0;
  20085.         
  20086.         virtual HRESULT STDMETHODCALLTYPE EnumPinsIn( 
  20087.             /* [out] */ IEnumPins **ppEnum) = 0;
  20088.         
  20089.         virtual HRESULT STDMETHODCALLTYPE EnumPinsOut( 
  20090.             /* [out] */ IEnumPins **ppEnum) = 0;
  20091.         
  20092.         virtual HRESULT STDMETHODCALLTYPE RenderAll( void) = 0;
  20093.         
  20094.         virtual HRESULT STDMETHODCALLTYPE RenderNewFile( 
  20095.             /* [in] */ LPCWSTR strFilename) = 0;
  20096.         
  20097.         virtual HRESULT STDMETHODCALLTYPE FreeEventParams( 
  20098.             /* [in] */ long lEvCode,
  20099.             /* [in] */ long lParam1,
  20100.             /* [in] */ long lParam2) = 0;
  20101.         
  20102.     };
  20103.     
  20104. #else     /* C style interface */
  20105.  
  20106.     typedef struct IAMovieVtbl
  20107.     {
  20108.         BEGIN_INTERFACE
  20109.         
  20110.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  20111.             IAMovie * This,
  20112.             /* [in] */ REFIID riid,
  20113.             /* [iid_is][out] */ void **ppvObject);
  20114.         
  20115.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  20116.             IAMovie * This);
  20117.         
  20118.         ULONG ( STDMETHODCALLTYPE *Release )( 
  20119.             IAMovie * This);
  20120.         
  20121.         HRESULT ( STDMETHODCALLTYPE *AddFilter )( 
  20122.             IAMovie * This,
  20123.             /* [in] */ IBaseFilter *pFilter,
  20124.             /* [string][in] */ LPCWSTR pName);
  20125.         
  20126.         HRESULT ( STDMETHODCALLTYPE *RemoveFilter )( 
  20127.             IAMovie * This,
  20128.             /* [in] */ IBaseFilter *pFilter);
  20129.         
  20130.         HRESULT ( STDMETHODCALLTYPE *EnumFilters )( 
  20131.             IAMovie * This,
  20132.             /* [out] */ IEnumFilters **ppEnum);
  20133.         
  20134.         HRESULT ( STDMETHODCALLTYPE *FindFilterByName )( 
  20135.             IAMovie * This,
  20136.             /* [string][in] */ LPCWSTR pName,
  20137.             /* [out] */ IBaseFilter **ppFilter);
  20138.         
  20139.         HRESULT ( STDMETHODCALLTYPE *ConnectDirect )( 
  20140.             IAMovie * This,
  20141.             /* [in] */ IPin *ppinOut,
  20142.             /* [in] */ IPin *ppinIn,
  20143.             /* [unique][in] */ const AM_MEDIA_TYPE *pmt);
  20144.         
  20145.         HRESULT ( STDMETHODCALLTYPE *Reconnect )( 
  20146.             IAMovie * This,
  20147.             /* [in] */ IPin *ppin);
  20148.         
  20149.         HRESULT ( STDMETHODCALLTYPE *Disconnect )( 
  20150.             IAMovie * This,
  20151.             /* [in] */ IPin *ppin);
  20152.         
  20153.         HRESULT ( STDMETHODCALLTYPE *SetDefaultSyncSource )( 
  20154.             IAMovie * This);
  20155.         
  20156.         HRESULT ( STDMETHODCALLTYPE *Connect )( 
  20157.             IAMovie * This,
  20158.             /* [in] */ IPin *ppinOut,
  20159.             /* [in] */ IPin *ppinIn);
  20160.         
  20161.         HRESULT ( STDMETHODCALLTYPE *Render )( 
  20162.             IAMovie * This,
  20163.             /* [in] */ IPin *ppinOut);
  20164.         
  20165.         HRESULT ( STDMETHODCALLTYPE *Run )( 
  20166.             IAMovie * This);
  20167.         
  20168.         HRESULT ( STDMETHODCALLTYPE *Pause )( 
  20169.             IAMovie * This);
  20170.         
  20171.         HRESULT ( STDMETHODCALLTYPE *Stop )( 
  20172.             IAMovie * This);
  20173.         
  20174.         HRESULT ( STDMETHODCALLTYPE *GetState )( 
  20175.             IAMovie * This,
  20176.             /* [in] */ LONG msTimeout,
  20177.             /* [out] */ FILTER_STATE *pfs);
  20178.         
  20179.         HRESULT ( STDMETHODCALLTYPE *RenderFile )( 
  20180.             IAMovie * This,
  20181.             /* [in] */ LPCWSTR strFilename);
  20182.         
  20183.         HRESULT ( STDMETHODCALLTYPE *AddSourceFilter )( 
  20184.             IAMovie * This,
  20185.             /* [in] */ LPCWSTR strFilename,
  20186.             /* [out] */ IBaseFilter **ppUnk);
  20187.         
  20188.         HRESULT ( STDMETHODCALLTYPE *GetEventHandle )( 
  20189.             IAMovie * This,
  20190.             /* [out] */ HEVENT *hEvent);
  20191.         
  20192.         HRESULT ( STDMETHODCALLTYPE *GetEvent )( 
  20193.             IAMovie * This,
  20194.             /* [out] */ long *lEventCode,
  20195.             /* [out] */ long *lParam1,
  20196.             /* [out] */ long *lParam2,
  20197.             /* [in] */ long msTimeout);
  20198.         
  20199.         HRESULT ( STDMETHODCALLTYPE *WaitForCompletion )( 
  20200.             IAMovie * This,
  20201.             /* [in] */ long msTimeout,
  20202.             /* [out] */ long *pEvCode);
  20203.         
  20204.         HRESULT ( STDMETHODCALLTYPE *CancelDefaultHandling )( 
  20205.             IAMovie * This,
  20206.             /* [in] */ long lEvCode);
  20207.         
  20208.         HRESULT ( STDMETHODCALLTYPE *RestoreDefaultHandling )( 
  20209.             IAMovie * This,
  20210.             /* [in] */ long lEvCode);
  20211.         
  20212.         HRESULT ( STDMETHODCALLTYPE *get_Duration )( 
  20213.             IAMovie * This,
  20214.             /* [out] */ REFTIME *plength);
  20215.         
  20216.         HRESULT ( STDMETHODCALLTYPE *put_CurrentPosition )( 
  20217.             IAMovie * This,
  20218.             /* [in] */ REFTIME llTime);
  20219.         
  20220.         HRESULT ( STDMETHODCALLTYPE *get_CurrentPosition )( 
  20221.             IAMovie * This,
  20222.             /* [out] */ REFTIME *pllTime);
  20223.         
  20224.         HRESULT ( STDMETHODCALLTYPE *get_StopTime )( 
  20225.             IAMovie * This,
  20226.             /* [out] */ REFTIME *pllTime);
  20227.         
  20228.         HRESULT ( STDMETHODCALLTYPE *put_StopTime )( 
  20229.             IAMovie * This,
  20230.             /* [in] */ REFTIME llTime);
  20231.         
  20232.         HRESULT ( STDMETHODCALLTYPE *get_PrerollTime )( 
  20233.             IAMovie * This,
  20234.             /* [out] */ REFTIME *pllTime);
  20235.         
  20236.         HRESULT ( STDMETHODCALLTYPE *put_PrerollTime )( 
  20237.             IAMovie * This,
  20238.             /* [in] */ REFTIME llTime);
  20239.         
  20240.         HRESULT ( STDMETHODCALLTYPE *put_Rate )( 
  20241.             IAMovie * This,
  20242.             /* [in] */ double dRate);
  20243.         
  20244.         HRESULT ( STDMETHODCALLTYPE *get_Rate )( 
  20245.             IAMovie * This,
  20246.             /* [out] */ double *pdRate);
  20247.         
  20248.         HRESULT ( STDMETHODCALLTYPE *RemoveAllFilters )( 
  20249.             IAMovie * This);
  20250.         
  20251.         HRESULT ( STDMETHODCALLTYPE *Play )( 
  20252.             IAMovie * This);
  20253.         
  20254.         HRESULT ( STDMETHODCALLTYPE *PlayFile )( 
  20255.             IAMovie * This,
  20256.             /* [in] */ LPCWSTR strFilename);
  20257.         
  20258.         HRESULT ( STDMETHODCALLTYPE *EnumFiltersByInterface )( 
  20259.             IAMovie * This,
  20260.             /* [in] */ REFIID riid,
  20261.             /* [out] */ IEnumFilters **ppEnum);
  20262.         
  20263.         HRESULT ( STDMETHODCALLTYPE *EnumPins )( 
  20264.             IAMovie * This,
  20265.             /* [out] */ IEnumPins **ppEnum);
  20266.         
  20267.         HRESULT ( STDMETHODCALLTYPE *EnumPinsIn )( 
  20268.             IAMovie * This,
  20269.             /* [out] */ IEnumPins **ppEnum);
  20270.         
  20271.         HRESULT ( STDMETHODCALLTYPE *EnumPinsOut )( 
  20272.             IAMovie * This,
  20273.             /* [out] */ IEnumPins **ppEnum);
  20274.         
  20275.         HRESULT ( STDMETHODCALLTYPE *RenderAll )( 
  20276.             IAMovie * This);
  20277.         
  20278.         HRESULT ( STDMETHODCALLTYPE *RenderNewFile )( 
  20279.             IAMovie * This,
  20280.             /* [in] */ LPCWSTR strFilename);
  20281.         
  20282.         HRESULT ( STDMETHODCALLTYPE *FreeEventParams )( 
  20283.             IAMovie * This,
  20284.             /* [in] */ long lEvCode,
  20285.             /* [in] */ long lParam1,
  20286.             /* [in] */ long lParam2);
  20287.         
  20288.         END_INTERFACE
  20289.     } IAMovieVtbl;
  20290.  
  20291.     interface IAMovie
  20292.     {
  20293.         CONST_VTBL struct IAMovieVtbl *lpVtbl;
  20294.     };
  20295.  
  20296.     
  20297.  
  20298. #ifdef COBJMACROS
  20299.  
  20300.  
  20301. #define IAMovie_QueryInterface(This,riid,ppvObject)    \
  20302.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  20303.  
  20304. #define IAMovie_AddRef(This)    \
  20305.     (This)->lpVtbl -> AddRef(This)
  20306.  
  20307. #define IAMovie_Release(This)    \
  20308.     (This)->lpVtbl -> Release(This)
  20309.  
  20310.  
  20311. #define IAMovie_AddFilter(This,pFilter,pName)    \
  20312.     (This)->lpVtbl -> AddFilter(This,pFilter,pName)
  20313.  
  20314. #define IAMovie_RemoveFilter(This,pFilter)    \
  20315.     (This)->lpVtbl -> RemoveFilter(This,pFilter)
  20316.  
  20317. #define IAMovie_EnumFilters(This,ppEnum)    \
  20318.     (This)->lpVtbl -> EnumFilters(This,ppEnum)
  20319.  
  20320. #define IAMovie_FindFilterByName(This,pName,ppFilter)    \
  20321.     (This)->lpVtbl -> FindFilterByName(This,pName,ppFilter)
  20322.  
  20323. #define IAMovie_ConnectDirect(This,ppinOut,ppinIn,pmt)    \
  20324.     (This)->lpVtbl -> ConnectDirect(This,ppinOut,ppinIn,pmt)
  20325.  
  20326. #define IAMovie_Reconnect(This,ppin)    \
  20327.     (This)->lpVtbl -> Reconnect(This,ppin)
  20328.  
  20329. #define IAMovie_Disconnect(This,ppin)    \
  20330.     (This)->lpVtbl -> Disconnect(This,ppin)
  20331.  
  20332. #define IAMovie_SetDefaultSyncSource(This)    \
  20333.     (This)->lpVtbl -> SetDefaultSyncSource(This)
  20334.  
  20335.  
  20336. #define IAMovie_Connect(This,ppinOut,ppinIn)    \
  20337.     (This)->lpVtbl -> Connect(This,ppinOut,ppinIn)
  20338.  
  20339. #define IAMovie_Render(This,ppinOut)    \
  20340.     (This)->lpVtbl -> Render(This,ppinOut)
  20341.  
  20342. #define IAMovie_Run(This)    \
  20343.     (This)->lpVtbl -> Run(This)
  20344.  
  20345. #define IAMovie_Pause(This)    \
  20346.     (This)->lpVtbl -> Pause(This)
  20347.  
  20348. #define IAMovie_Stop(This)    \
  20349.     (This)->lpVtbl -> Stop(This)
  20350.  
  20351. #define IAMovie_GetState(This,msTimeout,pfs)    \
  20352.     (This)->lpVtbl -> GetState(This,msTimeout,pfs)
  20353.  
  20354. #define IAMovie_RenderFile(This,strFilename)    \
  20355.     (This)->lpVtbl -> RenderFile(This,strFilename)
  20356.  
  20357. #define IAMovie_AddSourceFilter(This,strFilename,ppUnk)    \
  20358.     (This)->lpVtbl -> AddSourceFilter(This,strFilename,ppUnk)
  20359.  
  20360. #define IAMovie_GetEventHandle(This,hEvent)    \
  20361.     (This)->lpVtbl -> GetEventHandle(This,hEvent)
  20362.  
  20363. #define IAMovie_GetEvent(This,lEventCode,lParam1,lParam2,msTimeout)    \
  20364.     (This)->lpVtbl -> GetEvent(This,lEventCode,lParam1,lParam2,msTimeout)
  20365.  
  20366. #define IAMovie_WaitForCompletion(This,msTimeout,pEvCode)    \
  20367.     (This)->lpVtbl -> WaitForCompletion(This,msTimeout,pEvCode)
  20368.  
  20369. #define IAMovie_CancelDefaultHandling(This,lEvCode)    \
  20370.     (This)->lpVtbl -> CancelDefaultHandling(This,lEvCode)
  20371.  
  20372. #define IAMovie_RestoreDefaultHandling(This,lEvCode)    \
  20373.     (This)->lpVtbl -> RestoreDefaultHandling(This,lEvCode)
  20374.  
  20375. #define IAMovie_get_Duration(This,plength)    \
  20376.     (This)->lpVtbl -> get_Duration(This,plength)
  20377.  
  20378. #define IAMovie_put_CurrentPosition(This,llTime)    \
  20379.     (This)->lpVtbl -> put_CurrentPosition(This,llTime)
  20380.  
  20381. #define IAMovie_get_CurrentPosition(This,pllTime)    \
  20382.     (This)->lpVtbl -> get_CurrentPosition(This,pllTime)
  20383.  
  20384. #define IAMovie_get_StopTime(This,pllTime)    \
  20385.     (This)->lpVtbl -> get_StopTime(This,pllTime)
  20386.  
  20387. #define IAMovie_put_StopTime(This,llTime)    \
  20388.     (This)->lpVtbl -> put_StopTime(This,llTime)
  20389.  
  20390. #define IAMovie_get_PrerollTime(This,pllTime)    \
  20391.     (This)->lpVtbl -> get_PrerollTime(This,pllTime)
  20392.  
  20393. #define IAMovie_put_PrerollTime(This,llTime)    \
  20394.     (This)->lpVtbl -> put_PrerollTime(This,llTime)
  20395.  
  20396. #define IAMovie_put_Rate(This,dRate)    \
  20397.     (This)->lpVtbl -> put_Rate(This,dRate)
  20398.  
  20399. #define IAMovie_get_Rate(This,pdRate)    \
  20400.     (This)->lpVtbl -> get_Rate(This,pdRate)
  20401.  
  20402. #define IAMovie_RemoveAllFilters(This)    \
  20403.     (This)->lpVtbl -> RemoveAllFilters(This)
  20404.  
  20405. #define IAMovie_Play(This)    \
  20406.     (This)->lpVtbl -> Play(This)
  20407.  
  20408. #define IAMovie_PlayFile(This,strFilename)    \
  20409.     (This)->lpVtbl -> PlayFile(This,strFilename)
  20410.  
  20411. #define IAMovie_EnumFiltersByInterface(This,riid,ppEnum)    \
  20412.     (This)->lpVtbl -> EnumFiltersByInterface(This,riid,ppEnum)
  20413.  
  20414. #define IAMovie_EnumPins(This,ppEnum)    \
  20415.     (This)->lpVtbl -> EnumPins(This,ppEnum)
  20416.  
  20417. #define IAMovie_EnumPinsIn(This,ppEnum)    \
  20418.     (This)->lpVtbl -> EnumPinsIn(This,ppEnum)
  20419.  
  20420. #define IAMovie_EnumPinsOut(This,ppEnum)    \
  20421.     (This)->lpVtbl -> EnumPinsOut(This,ppEnum)
  20422.  
  20423. #define IAMovie_RenderAll(This)    \
  20424.     (This)->lpVtbl -> RenderAll(This)
  20425.  
  20426. #define IAMovie_RenderNewFile(This,strFilename)    \
  20427.     (This)->lpVtbl -> RenderNewFile(This,strFilename)
  20428.  
  20429. #define IAMovie_FreeEventParams(This,lEvCode,lParam1,lParam2)    \
  20430.     (This)->lpVtbl -> FreeEventParams(This,lEvCode,lParam1,lParam2)
  20431.  
  20432. #endif /* COBJMACROS */
  20433.  
  20434.  
  20435. #endif     /* C style interface */
  20436.  
  20437.  
  20438.  
  20439. HRESULT STDMETHODCALLTYPE IAMovie_Connect_Proxy( 
  20440.     IAMovie * This,
  20441.     /* [in] */ IPin *ppinOut,
  20442.     /* [in] */ IPin *ppinIn);
  20443.  
  20444.  
  20445. void __RPC_STUB IAMovie_Connect_Stub(
  20446.     IRpcStubBuffer *This,
  20447.     IRpcChannelBuffer *_pRpcChannelBuffer,
  20448.     PRPC_MESSAGE _pRpcMessage,
  20449.     DWORD *_pdwStubPhase);
  20450.  
  20451.  
  20452. HRESULT STDMETHODCALLTYPE IAMovie_Render_Proxy( 
  20453.     IAMovie * This,
  20454.     /* [in] */ IPin *ppinOut);
  20455.  
  20456.  
  20457. void __RPC_STUB IAMovie_Render_Stub(
  20458.     IRpcStubBuffer *This,
  20459.     IRpcChannelBuffer *_pRpcChannelBuffer,
  20460.     PRPC_MESSAGE _pRpcMessage,
  20461.     DWORD *_pdwStubPhase);
  20462.  
  20463.  
  20464. HRESULT STDMETHODCALLTYPE IAMovie_Run_Proxy( 
  20465.     IAMovie * This);
  20466.  
  20467.  
  20468. void __RPC_STUB IAMovie_Run_Stub(
  20469.     IRpcStubBuffer *This,
  20470.     IRpcChannelBuffer *_pRpcChannelBuffer,
  20471.     PRPC_MESSAGE _pRpcMessage,
  20472.     DWORD *_pdwStubPhase);
  20473.  
  20474.  
  20475. HRESULT STDMETHODCALLTYPE IAMovie_Pause_Proxy( 
  20476.     IAMovie * This);
  20477.  
  20478.  
  20479. void __RPC_STUB IAMovie_Pause_Stub(
  20480.     IRpcStubBuffer *This,
  20481.     IRpcChannelBuffer *_pRpcChannelBuffer,
  20482.     PRPC_MESSAGE _pRpcMessage,
  20483.     DWORD *_pdwStubPhase);
  20484.  
  20485.  
  20486. HRESULT STDMETHODCALLTYPE IAMovie_Stop_Proxy( 
  20487.     IAMovie * This);
  20488.  
  20489.  
  20490. void __RPC_STUB IAMovie_Stop_Stub(
  20491.     IRpcStubBuffer *This,
  20492.     IRpcChannelBuffer *_pRpcChannelBuffer,
  20493.     PRPC_MESSAGE _pRpcMessage,
  20494.     DWORD *_pdwStubPhase);
  20495.  
  20496.  
  20497. HRESULT STDMETHODCALLTYPE IAMovie_GetState_Proxy( 
  20498.     IAMovie * This,
  20499.     /* [in] */ LONG msTimeout,
  20500.     /* [out] */ FILTER_STATE *pfs);
  20501.  
  20502.  
  20503. void __RPC_STUB IAMovie_GetState_Stub(
  20504.     IRpcStubBuffer *This,
  20505.     IRpcChannelBuffer *_pRpcChannelBuffer,
  20506.     PRPC_MESSAGE _pRpcMessage,
  20507.     DWORD *_pdwStubPhase);
  20508.  
  20509.  
  20510. HRESULT STDMETHODCALLTYPE IAMovie_RenderFile_Proxy( 
  20511.     IAMovie * This,
  20512.     /* [in] */ LPCWSTR strFilename);
  20513.  
  20514.  
  20515. void __RPC_STUB IAMovie_RenderFile_Stub(
  20516.     IRpcStubBuffer *This,
  20517.     IRpcChannelBuffer *_pRpcChannelBuffer,
  20518.     PRPC_MESSAGE _pRpcMessage,
  20519.     DWORD *_pdwStubPhase);
  20520.  
  20521.  
  20522. HRESULT STDMETHODCALLTYPE IAMovie_AddSourceFilter_Proxy( 
  20523.     IAMovie * This,
  20524.     /* [in] */ LPCWSTR strFilename,
  20525.     /* [out] */ IBaseFilter **ppUnk);
  20526.  
  20527.  
  20528. void __RPC_STUB IAMovie_AddSourceFilter_Stub(
  20529.     IRpcStubBuffer *This,
  20530.     IRpcChannelBuffer *_pRpcChannelBuffer,
  20531.     PRPC_MESSAGE _pRpcMessage,
  20532.     DWORD *_pdwStubPhase);
  20533.  
  20534.  
  20535. HRESULT STDMETHODCALLTYPE IAMovie_GetEventHandle_Proxy( 
  20536.     IAMovie * This,
  20537.     /* [out] */ HEVENT *hEvent);
  20538.  
  20539.  
  20540. void __RPC_STUB IAMovie_GetEventHandle_Stub(
  20541.     IRpcStubBuffer *This,
  20542.     IRpcChannelBuffer *_pRpcChannelBuffer,
  20543.     PRPC_MESSAGE _pRpcMessage,
  20544.     DWORD *_pdwStubPhase);
  20545.  
  20546.  
  20547. HRESULT STDMETHODCALLTYPE IAMovie_GetEvent_Proxy( 
  20548.     IAMovie * This,
  20549.     /* [out] */ long *lEventCode,
  20550.     /* [out] */ long *lParam1,
  20551.     /* [out] */ long *lParam2,
  20552.     /* [in] */ long msTimeout);
  20553.  
  20554.  
  20555. void __RPC_STUB IAMovie_GetEvent_Stub(
  20556.     IRpcStubBuffer *This,
  20557.     IRpcChannelBuffer *_pRpcChannelBuffer,
  20558.     PRPC_MESSAGE _pRpcMessage,
  20559.     DWORD *_pdwStubPhase);
  20560.  
  20561.  
  20562. HRESULT STDMETHODCALLTYPE IAMovie_WaitForCompletion_Proxy( 
  20563.     IAMovie * This,
  20564.     /* [in] */ long msTimeout,
  20565.     /* [out] */ long *pEvCode);
  20566.  
  20567.  
  20568. void __RPC_STUB IAMovie_WaitForCompletion_Stub(
  20569.     IRpcStubBuffer *This,
  20570.     IRpcChannelBuffer *_pRpcChannelBuffer,
  20571.     PRPC_MESSAGE _pRpcMessage,
  20572.     DWORD *_pdwStubPhase);
  20573.  
  20574.  
  20575. HRESULT STDMETHODCALLTYPE IAMovie_CancelDefaultHandling_Proxy( 
  20576.     IAMovie * This,
  20577.     /* [in] */ long lEvCode);
  20578.  
  20579.  
  20580. void __RPC_STUB IAMovie_CancelDefaultHandling_Stub(
  20581.     IRpcStubBuffer *This,
  20582.     IRpcChannelBuffer *_pRpcChannelBuffer,
  20583.     PRPC_MESSAGE _pRpcMessage,
  20584.     DWORD *_pdwStubPhase);
  20585.  
  20586.  
  20587. HRESULT STDMETHODCALLTYPE IAMovie_RestoreDefaultHandling_Proxy( 
  20588.     IAMovie * This,
  20589.     /* [in] */ long lEvCode);
  20590.  
  20591.  
  20592. void __RPC_STUB IAMovie_RestoreDefaultHandling_Stub(
  20593.     IRpcStubBuffer *This,
  20594.     IRpcChannelBuffer *_pRpcChannelBuffer,
  20595.     PRPC_MESSAGE _pRpcMessage,
  20596.     DWORD *_pdwStubPhase);
  20597.  
  20598.  
  20599. HRESULT STDMETHODCALLTYPE IAMovie_get_Duration_Proxy( 
  20600.     IAMovie * This,
  20601.     /* [out] */ REFTIME *plength);
  20602.  
  20603.  
  20604. void __RPC_STUB IAMovie_get_Duration_Stub(
  20605.     IRpcStubBuffer *This,
  20606.     IRpcChannelBuffer *_pRpcChannelBuffer,
  20607.     PRPC_MESSAGE _pRpcMessage,
  20608.     DWORD *_pdwStubPhase);
  20609.  
  20610.  
  20611. HRESULT STDMETHODCALLTYPE IAMovie_put_CurrentPosition_Proxy( 
  20612.     IAMovie * This,
  20613.     /* [in] */ REFTIME llTime);
  20614.  
  20615.  
  20616. void __RPC_STUB IAMovie_put_CurrentPosition_Stub(
  20617.     IRpcStubBuffer *This,
  20618.     IRpcChannelBuffer *_pRpcChannelBuffer,
  20619.     PRPC_MESSAGE _pRpcMessage,
  20620.     DWORD *_pdwStubPhase);
  20621.  
  20622.  
  20623. HRESULT STDMETHODCALLTYPE IAMovie_get_CurrentPosition_Proxy( 
  20624.     IAMovie * This,
  20625.     /* [out] */ REFTIME *pllTime);
  20626.  
  20627.  
  20628. void __RPC_STUB IAMovie_get_CurrentPosition_Stub(
  20629.     IRpcStubBuffer *This,
  20630.     IRpcChannelBuffer *_pRpcChannelBuffer,
  20631.     PRPC_MESSAGE _pRpcMessage,
  20632.     DWORD *_pdwStubPhase);
  20633.  
  20634.  
  20635. HRESULT STDMETHODCALLTYPE IAMovie_get_StopTime_Proxy( 
  20636.     IAMovie * This,
  20637.     /* [out] */ REFTIME *pllTime);
  20638.  
  20639.  
  20640. void __RPC_STUB IAMovie_get_StopTime_Stub(
  20641.     IRpcStubBuffer *This,
  20642.     IRpcChannelBuffer *_pRpcChannelBuffer,
  20643.     PRPC_MESSAGE _pRpcMessage,
  20644.     DWORD *_pdwStubPhase);
  20645.  
  20646.  
  20647. HRESULT STDMETHODCALLTYPE IAMovie_put_StopTime_Proxy( 
  20648.     IAMovie * This,
  20649.     /* [in] */ REFTIME llTime);
  20650.  
  20651.  
  20652. void __RPC_STUB IAMovie_put_StopTime_Stub(
  20653.     IRpcStubBuffer *This,
  20654.     IRpcChannelBuffer *_pRpcChannelBuffer,
  20655.     PRPC_MESSAGE _pRpcMessage,
  20656.     DWORD *_pdwStubPhase);
  20657.  
  20658.  
  20659. HRESULT STDMETHODCALLTYPE IAMovie_get_PrerollTime_Proxy( 
  20660.     IAMovie * This,
  20661.     /* [out] */ REFTIME *pllTime);
  20662.  
  20663.  
  20664. void __RPC_STUB IAMovie_get_PrerollTime_Stub(
  20665.     IRpcStubBuffer *This,
  20666.     IRpcChannelBuffer *_pRpcChannelBuffer,
  20667.     PRPC_MESSAGE _pRpcMessage,
  20668.     DWORD *_pdwStubPhase);
  20669.  
  20670.  
  20671. HRESULT STDMETHODCALLTYPE IAMovie_put_PrerollTime_Proxy( 
  20672.     IAMovie * This,
  20673.     /* [in] */ REFTIME llTime);
  20674.  
  20675.  
  20676. void __RPC_STUB IAMovie_put_PrerollTime_Stub(
  20677.     IRpcStubBuffer *This,
  20678.     IRpcChannelBuffer *_pRpcChannelBuffer,
  20679.     PRPC_MESSAGE _pRpcMessage,
  20680.     DWORD *_pdwStubPhase);
  20681.  
  20682.  
  20683. HRESULT STDMETHODCALLTYPE IAMovie_put_Rate_Proxy( 
  20684.     IAMovie * This,
  20685.     /* [in] */ double dRate);
  20686.  
  20687.  
  20688. void __RPC_STUB IAMovie_put_Rate_Stub(
  20689.     IRpcStubBuffer *This,
  20690.     IRpcChannelBuffer *_pRpcChannelBuffer,
  20691.     PRPC_MESSAGE _pRpcMessage,
  20692.     DWORD *_pdwStubPhase);
  20693.  
  20694.  
  20695. HRESULT STDMETHODCALLTYPE IAMovie_get_Rate_Proxy( 
  20696.     IAMovie * This,
  20697.     /* [out] */ double *pdRate);
  20698.  
  20699.  
  20700. void __RPC_STUB IAMovie_get_Rate_Stub(
  20701.     IRpcStubBuffer *This,
  20702.     IRpcChannelBuffer *_pRpcChannelBuffer,
  20703.     PRPC_MESSAGE _pRpcMessage,
  20704.     DWORD *_pdwStubPhase);
  20705.  
  20706.  
  20707. HRESULT STDMETHODCALLTYPE IAMovie_RemoveAllFilters_Proxy( 
  20708.     IAMovie * This);
  20709.  
  20710.  
  20711. void __RPC_STUB IAMovie_RemoveAllFilters_Stub(
  20712.     IRpcStubBuffer *This,
  20713.     IRpcChannelBuffer *_pRpcChannelBuffer,
  20714.     PRPC_MESSAGE _pRpcMessage,
  20715.     DWORD *_pdwStubPhase);
  20716.  
  20717.  
  20718. HRESULT STDMETHODCALLTYPE IAMovie_Play_Proxy( 
  20719.     IAMovie * This);
  20720.  
  20721.  
  20722. void __RPC_STUB IAMovie_Play_Stub(
  20723.     IRpcStubBuffer *This,
  20724.     IRpcChannelBuffer *_pRpcChannelBuffer,
  20725.     PRPC_MESSAGE _pRpcMessage,
  20726.     DWORD *_pdwStubPhase);
  20727.  
  20728.  
  20729. HRESULT STDMETHODCALLTYPE IAMovie_PlayFile_Proxy( 
  20730.     IAMovie * This,
  20731.     /* [in] */ LPCWSTR strFilename);
  20732.  
  20733.  
  20734. void __RPC_STUB IAMovie_PlayFile_Stub(
  20735.     IRpcStubBuffer *This,
  20736.     IRpcChannelBuffer *_pRpcChannelBuffer,
  20737.     PRPC_MESSAGE _pRpcMessage,
  20738.     DWORD *_pdwStubPhase);
  20739.  
  20740.  
  20741. HRESULT STDMETHODCALLTYPE IAMovie_EnumFiltersByInterface_Proxy( 
  20742.     IAMovie * This,
  20743.     /* [in] */ REFIID riid,
  20744.     /* [out] */ IEnumFilters **ppEnum);
  20745.  
  20746.  
  20747. void __RPC_STUB IAMovie_EnumFiltersByInterface_Stub(
  20748.     IRpcStubBuffer *This,
  20749.     IRpcChannelBuffer *_pRpcChannelBuffer,
  20750.     PRPC_MESSAGE _pRpcMessage,
  20751.     DWORD *_pdwStubPhase);
  20752.  
  20753.  
  20754. HRESULT STDMETHODCALLTYPE IAMovie_EnumPins_Proxy( 
  20755.     IAMovie * This,
  20756.     /* [out] */ IEnumPins **ppEnum);
  20757.  
  20758.  
  20759. void __RPC_STUB IAMovie_EnumPins_Stub(
  20760.     IRpcStubBuffer *This,
  20761.     IRpcChannelBuffer *_pRpcChannelBuffer,
  20762.     PRPC_MESSAGE _pRpcMessage,
  20763.     DWORD *_pdwStubPhase);
  20764.  
  20765.  
  20766. HRESULT STDMETHODCALLTYPE IAMovie_EnumPinsIn_Proxy( 
  20767.     IAMovie * This,
  20768.     /* [out] */ IEnumPins **ppEnum);
  20769.  
  20770.  
  20771. void __RPC_STUB IAMovie_EnumPinsIn_Stub(
  20772.     IRpcStubBuffer *This,
  20773.     IRpcChannelBuffer *_pRpcChannelBuffer,
  20774.     PRPC_MESSAGE _pRpcMessage,
  20775.     DWORD *_pdwStubPhase);
  20776.  
  20777.  
  20778. HRESULT STDMETHODCALLTYPE IAMovie_EnumPinsOut_Proxy( 
  20779.     IAMovie * This,
  20780.     /* [out] */ IEnumPins **ppEnum);
  20781.  
  20782.  
  20783. void __RPC_STUB IAMovie_EnumPinsOut_Stub(
  20784.     IRpcStubBuffer *This,
  20785.     IRpcChannelBuffer *_pRpcChannelBuffer,
  20786.     PRPC_MESSAGE _pRpcMessage,
  20787.     DWORD *_pdwStubPhase);
  20788.  
  20789.  
  20790. HRESULT STDMETHODCALLTYPE IAMovie_RenderAll_Proxy( 
  20791.     IAMovie * This);
  20792.  
  20793.  
  20794. void __RPC_STUB IAMovie_RenderAll_Stub(
  20795.     IRpcStubBuffer *This,
  20796.     IRpcChannelBuffer *_pRpcChannelBuffer,
  20797.     PRPC_MESSAGE _pRpcMessage,
  20798.     DWORD *_pdwStubPhase);
  20799.  
  20800.  
  20801. HRESULT STDMETHODCALLTYPE IAMovie_RenderNewFile_Proxy( 
  20802.     IAMovie * This,
  20803.     /* [in] */ LPCWSTR strFilename);
  20804.  
  20805.  
  20806. void __RPC_STUB IAMovie_RenderNewFile_Stub(
  20807.     IRpcStubBuffer *This,
  20808.     IRpcChannelBuffer *_pRpcChannelBuffer,
  20809.     PRPC_MESSAGE _pRpcMessage,
  20810.     DWORD *_pdwStubPhase);
  20811.  
  20812.  
  20813. HRESULT STDMETHODCALLTYPE IAMovie_FreeEventParams_Proxy( 
  20814.     IAMovie * This,
  20815.     /* [in] */ long lEvCode,
  20816.     /* [in] */ long lParam1,
  20817.     /* [in] */ long lParam2);
  20818.  
  20819.  
  20820. void __RPC_STUB IAMovie_FreeEventParams_Stub(
  20821.     IRpcStubBuffer *This,
  20822.     IRpcChannelBuffer *_pRpcChannelBuffer,
  20823.     PRPC_MESSAGE _pRpcMessage,
  20824.     DWORD *_pdwStubPhase);
  20825.  
  20826.  
  20827.  
  20828. #endif     /* __IAMovie_INTERFACE_DEFINED__ */
  20829.  
  20830.  
  20831. /* interface __MIDL_itf_strmif_0351 */
  20832. /* [local] */ 
  20833.  
  20834. #include <ddraw.h>
  20835.  
  20836.  
  20837.  
  20838.  
  20839.  
  20840.  
  20841.  
  20842.  
  20843.  
  20844. typedef 
  20845. enum tagDVD_DOMAIN
  20846.     {    DVD_DOMAIN_FirstPlay    = 1,
  20847.     DVD_DOMAIN_VideoManagerMenu    = DVD_DOMAIN_FirstPlay + 1,
  20848.     DVD_DOMAIN_VideoTitleSetMenu    = DVD_DOMAIN_VideoManagerMenu + 1,
  20849.     DVD_DOMAIN_Title    = DVD_DOMAIN_VideoTitleSetMenu + 1,
  20850.     DVD_DOMAIN_Stop    = DVD_DOMAIN_Title + 1
  20851.     }     DVD_DOMAIN;
  20852.  
  20853. typedef 
  20854. enum tagDVD_MENU_ID
  20855.     {    DVD_MENU_Title    = 2,
  20856.     DVD_MENU_Root    = 3,
  20857.     DVD_MENU_Subpicture    = 4,
  20858.     DVD_MENU_Audio    = 5,
  20859.     DVD_MENU_Angle    = 6,
  20860.     DVD_MENU_Chapter    = 7
  20861.     }     DVD_MENU_ID;
  20862.  
  20863. typedef 
  20864. enum tagDVD_DISC_SIDE
  20865.     {    DVD_SIDE_A    = 1,
  20866.     DVD_SIDE_B    = 2
  20867.     }     DVD_DISC_SIDE;
  20868.  
  20869. typedef 
  20870. enum tagDVD_PREFERRED_DISPLAY_MODE
  20871.     {    DISPLAY_CONTENT_DEFAULT    = 0,
  20872.     DISPLAY_16x9    = 1,
  20873.     DISPLAY_4x3_PANSCAN_PREFERRED    = 2,
  20874.     DISPLAY_4x3_LETTERBOX_PREFERRED    = 3
  20875.     }     DVD_PREFERRED_DISPLAY_MODE;
  20876.  
  20877. typedef WORD DVD_REGISTER;
  20878.  
  20879. typedef DVD_REGISTER GPRMARRAY[ 16 ];
  20880.  
  20881. typedef DVD_REGISTER SPRMARRAY[ 24 ];
  20882.  
  20883. typedef struct tagDVD_ATR
  20884.     {
  20885.     ULONG ulCAT;
  20886.     BYTE pbATRI[ 768 ];
  20887.     }     DVD_ATR;
  20888.  
  20889. typedef BYTE DVD_VideoATR[ 2 ];
  20890.  
  20891. typedef BYTE DVD_AudioATR[ 8 ];
  20892.  
  20893. typedef BYTE DVD_SubpictureATR[ 6 ];
  20894.  
  20895. typedef 
  20896. enum tagDVD_FRAMERATE
  20897.     {    DVD_FPS_25    = 1,
  20898.     DVD_FPS_30NonDrop    = 3
  20899.     }     DVD_FRAMERATE;
  20900.  
  20901. typedef struct tagDVD_TIMECODE
  20902. {
  20903.    ULONG Hours1    :4; // Hours
  20904.    ULONG Hours10  :4; // Tens of Hours 
  20905.  
  20906.    ULONG Minutes1  :4; // Minutes 
  20907.    ULONG Minutes10:4; // Tens of Minutes 
  20908.  
  20909.    ULONG Seconds1  :4; // Seconds 
  20910.    ULONG Seconds10:4; // Tens of Seconds 
  20911.  
  20912.    ULONG Frames1   :4; // Frames 
  20913.    ULONG Frames10 :2; // Tens of Frames 
  20914.  
  20915.    ULONG FrameRateCode: 2; // use DVD_FRAMERATE to indicate frames/sec and drop/non-drop
  20916. } DVD_TIMECODE;
  20917. typedef 
  20918. enum tagDVD_TIMECODE_FLAGS
  20919.     {    DVD_TC_FLAG_25fps    = 0x1,
  20920.     DVD_TC_FLAG_30fps    = 0x2,
  20921.     DVD_TC_FLAG_DropFrame    = 0x4,
  20922.     DVD_TC_FLAG_Interpolated    = 0x8
  20923.     }     DVD_TIMECODE_FLAGS;
  20924.  
  20925. typedef struct tagDVD_HMSF_TIMECODE
  20926.     {
  20927.     BYTE bHours;
  20928.     BYTE bMinutes;
  20929.     BYTE bSeconds;
  20930.     BYTE bFrames;
  20931.     }     DVD_HMSF_TIMECODE;
  20932.  
  20933. typedef struct tagDVD_PLAYBACK_LOCATION2
  20934.     {
  20935.     ULONG TitleNum;
  20936.     ULONG ChapterNum;
  20937.     DVD_HMSF_TIMECODE TimeCode;
  20938.     ULONG TimeCodeFlags;
  20939.     }     DVD_PLAYBACK_LOCATION2;
  20940.  
  20941. typedef struct tagDVD_PLAYBACK_LOCATION
  20942.     {
  20943.     ULONG TitleNum;
  20944.     ULONG ChapterNum;
  20945.     ULONG TimeCode;
  20946.     }     DVD_PLAYBACK_LOCATION;
  20947.  
  20948. typedef DWORD VALID_UOP_SOMTHING_OR_OTHER;
  20949.  
  20950. typedef /* [public] */ 
  20951. enum __MIDL___MIDL_itf_strmif_0351_0001
  20952.     {    UOP_FLAG_Play_Title_Or_AtTime    = 0x1,
  20953.     UOP_FLAG_Play_Chapter    = 0x2,
  20954.     UOP_FLAG_Play_Title    = 0x4,
  20955.     UOP_FLAG_Stop    = 0x8,
  20956.     UOP_FLAG_ReturnFromSubMenu    = 0x10,
  20957.     UOP_FLAG_Play_Chapter_Or_AtTime    = 0x20,
  20958.     UOP_FLAG_PlayPrev_Or_Replay_Chapter    = 0x40,
  20959.     UOP_FLAG_PlayNext_Chapter    = 0x80,
  20960.     UOP_FLAG_Play_Forwards    = 0x100,
  20961.     UOP_FLAG_Play_Backwards    = 0x200,
  20962.     UOP_FLAG_ShowMenu_Title    = 0x400,
  20963.     UOP_FLAG_ShowMenu_Root    = 0x800,
  20964.     UOP_FLAG_ShowMenu_SubPic    = 0x1000,
  20965.     UOP_FLAG_ShowMenu_Audio    = 0x2000,
  20966.     UOP_FLAG_ShowMenu_Angle    = 0x4000,
  20967.     UOP_FLAG_ShowMenu_Chapter    = 0x8000,
  20968.     UOP_FLAG_Resume    = 0x10000,
  20969.     UOP_FLAG_Select_Or_Activate_Button    = 0x20000,
  20970.     UOP_FLAG_Still_Off    = 0x40000,
  20971.     UOP_FLAG_Pause_On    = 0x80000,
  20972.     UOP_FLAG_Select_Audio_Stream    = 0x100000,
  20973.     UOP_FLAG_Select_SubPic_Stream    = 0x200000,
  20974.     UOP_FLAG_Select_Angle    = 0x400000,
  20975.     UOP_FLAG_Select_Karaoke_Audio_Presentation_Mode    = 0x800000,
  20976.     UOP_FLAG_Select_Video_Mode_Preference    = 0x1000000
  20977.     }     VALID_UOP_FLAG;
  20978.  
  20979. typedef /* [public] */ 
  20980. enum __MIDL___MIDL_itf_strmif_0351_0002
  20981.     {    DVD_CMD_FLAG_None    = 0,
  20982.     DVD_CMD_FLAG_Flush    = 0x1,
  20983.     DVD_CMD_FLAG_SendEvents    = 0x2,
  20984.     DVD_CMD_FLAG_Block    = 0x4,
  20985.     DVD_CMD_FLAG_StartWhenRendered    = 0x8,
  20986.     DVD_CMD_FLAG_EndAfterRendered    = 0x10
  20987.     }     DVD_CMD_FLAGS;
  20988.  
  20989. typedef /* [public][public] */ 
  20990. enum __MIDL___MIDL_itf_strmif_0351_0003
  20991.     {    DVD_ResetOnStop    = 1,
  20992.     DVD_NotifyParentalLevelChange    = 2,
  20993.     DVD_HMSF_TimeCodeEvents    = 3
  20994.     }     DVD_OPTION_FLAG;
  20995.  
  20996. typedef /* [public][public] */ 
  20997. enum __MIDL___MIDL_itf_strmif_0351_0004
  20998.     {    DVD_Relative_Upper    = 1,
  20999.     DVD_Relative_Lower    = 2,
  21000.     DVD_Relative_Left    = 3,
  21001.     DVD_Relative_Right    = 4
  21002.     }     DVD_RELATIVE_BUTTON;
  21003.  
  21004. typedef 
  21005. enum tagDVD_PARENTAL_LEVEL
  21006.     {    DVD_PARENTAL_LEVEL_8    = 0x8000,
  21007.     DVD_PARENTAL_LEVEL_7    = 0x4000,
  21008.     DVD_PARENTAL_LEVEL_6    = 0x2000,
  21009.     DVD_PARENTAL_LEVEL_5    = 0x1000,
  21010.     DVD_PARENTAL_LEVEL_4    = 0x800,
  21011.     DVD_PARENTAL_LEVEL_3    = 0x400,
  21012.     DVD_PARENTAL_LEVEL_2    = 0x200,
  21013.     DVD_PARENTAL_LEVEL_1    = 0x100
  21014.     }     DVD_PARENTAL_LEVEL;
  21015.  
  21016. typedef 
  21017. enum tagDVD_AUDIO_LANG_EXT
  21018.     {    DVD_AUD_EXT_NotSpecified    = 0,
  21019.     DVD_AUD_EXT_Captions    = 1,
  21020.     DVD_AUD_EXT_VisuallyImpaired    = 2,
  21021.     DVD_AUD_EXT_DirectorComments1    = 3,
  21022.     DVD_AUD_EXT_DirectorComments2    = 4
  21023.     }     DVD_AUDIO_LANG_EXT;
  21024.  
  21025. typedef 
  21026. enum tagDVD_SUBPICTURE_LANG_EXT
  21027.     {    DVD_SP_EXT_NotSpecified    = 0,
  21028.     DVD_SP_EXT_Caption_Normal    = 1,
  21029.     DVD_SP_EXT_Caption_Big    = 2,
  21030.     DVD_SP_EXT_Caption_Children    = 3,
  21031.     DVD_SP_EXT_CC_Normal    = 5,
  21032.     DVD_SP_EXT_CC_Big    = 6,
  21033.     DVD_SP_EXT_CC_Children    = 7,
  21034.     DVD_SP_EXT_Forced    = 9,
  21035.     DVD_SP_EXT_DirectorComments_Normal    = 13,
  21036.     DVD_SP_EXT_DirectorComments_Big    = 14,
  21037.     DVD_SP_EXT_DirectorComments_Children    = 15
  21038.     }     DVD_SUBPICTURE_LANG_EXT;
  21039.  
  21040. typedef 
  21041. enum tagDVD_AUDIO_APPMODE
  21042.     {    DVD_AudioMode_None    = 0,
  21043.     DVD_AudioMode_Karaoke    = 1,
  21044.     DVD_AudioMode_Surround    = 2,
  21045.     DVD_AudioMode_Other    = 3
  21046.     }     DVD_AUDIO_APPMODE;
  21047.  
  21048. typedef 
  21049. enum tagDVD_AUDIO_FORMAT
  21050.     {    DVD_AudioFormat_AC3    = 0,
  21051.     DVD_AudioFormat_MPEG1    = 1,
  21052.     DVD_AudioFormat_MPEG1_DRC    = 2,
  21053.     DVD_AudioFormat_MPEG2    = 3,
  21054.     DVD_AudioFormat_MPEG2_DRC    = 4,
  21055.     DVD_AudioFormat_LPCM    = 5,
  21056.     DVD_AudioFormat_DTS    = 6,
  21057.     DVD_AudioFormat_SDDS    = 7,
  21058.     DVD_AudioFormat_Other    = 8
  21059.     }     DVD_AUDIO_FORMAT;
  21060.  
  21061. typedef 
  21062. enum tagDVD_KARAOKE_DOWNMIX
  21063.     {    DVD_Mix_0to0    = 0x1,
  21064.     DVD_Mix_1to0    = 0x2,
  21065.     DVD_Mix_2to0    = 0x4,
  21066.     DVD_Mix_3to0    = 0x8,
  21067.     DVD_Mix_4to0    = 0x10,
  21068.     DVD_Mix_Lto0    = 0x20,
  21069.     DVD_Mix_Rto0    = 0x40,
  21070.     DVD_Mix_0to1    = 0x100,
  21071.     DVD_Mix_1to1    = 0x200,
  21072.     DVD_Mix_2to1    = 0x400,
  21073.     DVD_Mix_3to1    = 0x800,
  21074.     DVD_Mix_4to1    = 0x1000,
  21075.     DVD_Mix_Lto1    = 0x2000,
  21076.     DVD_Mix_Rto1    = 0x4000
  21077.     }     DVD_KARAOKE_DOWNMIX;
  21078.  
  21079. typedef struct tagDVD_AudioAttributes
  21080.     {
  21081.     DVD_AUDIO_APPMODE AppMode;
  21082.     BYTE AppModeData;
  21083.     DVD_AUDIO_FORMAT AudioFormat;
  21084.     LCID Language;
  21085.     DVD_AUDIO_LANG_EXT LanguageExtension;
  21086.     BOOL fHasMultichannelInfo;
  21087.     DWORD dwFrequency;
  21088.     BYTE bQuantization;
  21089.     BYTE bNumberOfChannels;
  21090.     DWORD dwReserved[ 2 ];
  21091.     }     DVD_AudioAttributes;
  21092.  
  21093. typedef struct tagDVD_MUA_MixingInfo
  21094.     {
  21095.     BOOL fMixTo0;
  21096.     BOOL fMixTo1;
  21097.     BOOL fMix0InPhase;
  21098.     BOOL fMix1InPhase;
  21099.     DWORD dwSpeakerPosition;
  21100.     }     DVD_MUA_MixingInfo;
  21101.  
  21102. typedef struct tagDVD_MUA_Coeff
  21103.     {
  21104.     double log2_alpha;
  21105.     double log2_beta;
  21106.     }     DVD_MUA_Coeff;
  21107.  
  21108. typedef struct tagDVD_MultichannelAudioAttributes
  21109.     {
  21110.     DVD_MUA_MixingInfo Info[ 8 ];
  21111.     DVD_MUA_Coeff Coeff[ 8 ];
  21112.     }     DVD_MultichannelAudioAttributes;
  21113.  
  21114. typedef 
  21115. enum tagDVD_KARAOKE_CONTENTS
  21116.     {    DVD_Karaoke_GuideVocal1    = 0x1,
  21117.     DVD_Karaoke_GuideVocal2    = 0x2,
  21118.     DVD_Karaoke_GuideMelody1    = 0x4,
  21119.     DVD_Karaoke_GuideMelody2    = 0x8,
  21120.     DVD_Karaoke_GuideMelodyA    = 0x10,
  21121.     DVD_Karaoke_GuideMelodyB    = 0x20,
  21122.     DVD_Karaoke_SoundEffectA    = 0x40,
  21123.     DVD_Karaoke_SoundEffectB    = 0x80
  21124.     }     DVD_KARAOKE_CONTENTS;
  21125.  
  21126. typedef 
  21127. enum tagDVD_KARAOKE_ASSIGNMENT
  21128.     {    DVD_Assignment_reserved0    = 0,
  21129.     DVD_Assignment_reserved1    = 1,
  21130.     DVD_Assignment_LR    = 2,
  21131.     DVD_Assignment_LRM    = 3,
  21132.     DVD_Assignment_LR1    = 4,
  21133.     DVD_Assignment_LRM1    = 5,
  21134.     DVD_Assignment_LR12    = 6,
  21135.     DVD_Assignment_LRM12    = 7
  21136.     }     DVD_KARAOKE_ASSIGNMENT;
  21137.  
  21138. typedef struct tagDVD_KaraokeAttributes
  21139.     {
  21140.     BYTE bVersion;
  21141.     BOOL fMasterOfCeremoniesInGuideVocal1;
  21142.     BOOL fDuet;
  21143.     DVD_KARAOKE_ASSIGNMENT ChannelAssignment;
  21144.     WORD wChannelContents[ 8 ];
  21145.     }     DVD_KaraokeAttributes;
  21146.  
  21147. typedef 
  21148. enum tagDVD_VIDEO_COMPRESSION
  21149.     {    DVD_VideoCompression_Other    = 0,
  21150.     DVD_VideoCompression_MPEG1    = 1,
  21151.     DVD_VideoCompression_MPEG2    = 2
  21152.     }     DVD_VIDEO_COMPRESSION;
  21153.  
  21154. typedef struct tagDVD_VideoAttributes
  21155.     {
  21156.     BOOL fPanscanPermitted;
  21157.     BOOL fLetterboxPermitted;
  21158.     ULONG ulAspectX;
  21159.     ULONG ulAspectY;
  21160.     ULONG ulFrameRate;
  21161.     ULONG ulFrameHeight;
  21162.     DVD_VIDEO_COMPRESSION Compression;
  21163.     BOOL fLine21Field1InGOP;
  21164.     BOOL fLine21Field2InGOP;
  21165.     ULONG ulSourceResolutionX;
  21166.     ULONG ulSourceResolutionY;
  21167.     BOOL fIsSourceLetterboxed;
  21168.     BOOL fIsFilmMode;
  21169.     }     DVD_VideoAttributes;
  21170.  
  21171. typedef 
  21172. enum tagDVD_SUBPICTURE_TYPE
  21173.     {    DVD_SPType_NotSpecified    = 0,
  21174.     DVD_SPType_Language    = 1,
  21175.     DVD_SPType_Other    = 2
  21176.     }     DVD_SUBPICTURE_TYPE;
  21177.  
  21178. typedef 
  21179. enum tagDVD_SUBPICTURE_CODING
  21180.     {    DVD_SPCoding_RunLength    = 0,
  21181.     DVD_SPCoding_Extended    = 1,
  21182.     DVD_SPCoding_Other    = 2
  21183.     }     DVD_SUBPICTURE_CODING;
  21184.  
  21185. typedef struct tagDVD_SubpictureAttributes
  21186.     {
  21187.     DVD_SUBPICTURE_TYPE Type;
  21188.     DVD_SUBPICTURE_CODING CodingMode;
  21189.     LCID Language;
  21190.     DVD_SUBPICTURE_LANG_EXT LanguageExtension;
  21191.     }     DVD_SubpictureAttributes;
  21192.  
  21193. typedef 
  21194. enum tagDVD_TITLE_APPMODE
  21195.     {    DVD_AppMode_Not_Specified    = 0,
  21196.     DVD_AppMode_Karaoke    = 1,
  21197.     DVD_AppMode_Other    = 3
  21198.     }     DVD_TITLE_APPMODE;
  21199.  
  21200. typedef struct tagDVD_TitleMainAttributes
  21201.     {
  21202.     DVD_TITLE_APPMODE AppMode;
  21203.     DVD_VideoAttributes VideoAttributes;
  21204.     ULONG ulNumberOfAudioStreams;
  21205.     DVD_AudioAttributes AudioAttributes[ 8 ];
  21206.     DVD_MultichannelAudioAttributes MultichannelAudioAttributes[ 8 ];
  21207.     ULONG ulNumberOfSubpictureStreams;
  21208.     DVD_SubpictureAttributes SubpictureAttributes[ 32 ];
  21209.     }     DVD_TitleAttributes;
  21210.  
  21211. typedef struct tagDVD_MenuAttributes
  21212.     {
  21213.     BOOL fCompatibleRegion[ 8 ];
  21214.     DVD_VideoAttributes VideoAttributes;
  21215.     BOOL fAudioPresent;
  21216.     DVD_AudioAttributes AudioAttributes;
  21217.     BOOL fSubpicturePresent;
  21218.     DVD_SubpictureAttributes SubpictureAttributes;
  21219.     }     DVD_MenuAttributes;
  21220.  
  21221.  
  21222.  
  21223. extern RPC_IF_HANDLE __MIDL_itf_strmif_0351_v0_0_c_ifspec;
  21224. extern RPC_IF_HANDLE __MIDL_itf_strmif_0351_v0_0_s_ifspec;
  21225.  
  21226. #ifndef __IDvdControl_INTERFACE_DEFINED__
  21227. #define __IDvdControl_INTERFACE_DEFINED__
  21228.  
  21229. /* interface IDvdControl */
  21230. /* [unique][uuid][object] */ 
  21231.  
  21232.  
  21233. EXTERN_C const IID IID_IDvdControl;
  21234.  
  21235. #if defined(__cplusplus) && !defined(CINTERFACE)
  21236.     
  21237.     MIDL_INTERFACE("A70EFE61-E2A3-11d0-A9BE-00AA0061BE93")
  21238.     IDvdControl : public IUnknown
  21239.     {
  21240.     public:
  21241.         virtual HRESULT STDMETHODCALLTYPE TitlePlay( 
  21242.             /* [in] */ ULONG ulTitle) = 0;
  21243.         
  21244.         virtual HRESULT STDMETHODCALLTYPE ChapterPlay( 
  21245.             /* [in] */ ULONG ulTitle,
  21246.             /* [in] */ ULONG ulChapter) = 0;
  21247.         
  21248.         virtual HRESULT STDMETHODCALLTYPE TimePlay( 
  21249.             /* [in] */ ULONG ulTitle,
  21250.             /* [in] */ ULONG bcdTime) = 0;
  21251.         
  21252.         virtual HRESULT STDMETHODCALLTYPE StopForResume( void) = 0;
  21253.         
  21254.         virtual HRESULT STDMETHODCALLTYPE GoUp( void) = 0;
  21255.         
  21256.         virtual HRESULT STDMETHODCALLTYPE TimeSearch( 
  21257.             /* [in] */ ULONG bcdTime) = 0;
  21258.         
  21259.         virtual HRESULT STDMETHODCALLTYPE ChapterSearch( 
  21260.             /* [in] */ ULONG ulChapter) = 0;
  21261.         
  21262.         virtual HRESULT STDMETHODCALLTYPE PrevPGSearch( void) = 0;
  21263.         
  21264.         virtual HRESULT STDMETHODCALLTYPE TopPGSearch( void) = 0;
  21265.         
  21266.         virtual HRESULT STDMETHODCALLTYPE NextPGSearch( void) = 0;
  21267.         
  21268.         virtual HRESULT STDMETHODCALLTYPE ForwardScan( 
  21269.             /* [in] */ double dwSpeed) = 0;
  21270.         
  21271.         virtual HRESULT STDMETHODCALLTYPE BackwardScan( 
  21272.             /* [in] */ double dwSpeed) = 0;
  21273.         
  21274.         virtual HRESULT STDMETHODCALLTYPE MenuCall( 
  21275.             /* [in] */ DVD_MENU_ID MenuID) = 0;
  21276.         
  21277.         virtual HRESULT STDMETHODCALLTYPE Resume( void) = 0;
  21278.         
  21279.         virtual HRESULT STDMETHODCALLTYPE UpperButtonSelect( void) = 0;
  21280.         
  21281.         virtual HRESULT STDMETHODCALLTYPE LowerButtonSelect( void) = 0;
  21282.         
  21283.         virtual HRESULT STDMETHODCALLTYPE LeftButtonSelect( void) = 0;
  21284.         
  21285.         virtual HRESULT STDMETHODCALLTYPE RightButtonSelect( void) = 0;
  21286.         
  21287.         virtual HRESULT STDMETHODCALLTYPE ButtonActivate( void) = 0;
  21288.         
  21289.         virtual HRESULT STDMETHODCALLTYPE ButtonSelectAndActivate( 
  21290.             /* [in] */ ULONG ulButton) = 0;
  21291.         
  21292.         virtual HRESULT STDMETHODCALLTYPE StillOff( void) = 0;
  21293.         
  21294.         virtual HRESULT STDMETHODCALLTYPE PauseOn( void) = 0;
  21295.         
  21296.         virtual HRESULT STDMETHODCALLTYPE PauseOff( void) = 0;
  21297.         
  21298.         virtual HRESULT STDMETHODCALLTYPE MenuLanguageSelect( 
  21299.             /* [in] */ LCID Language) = 0;
  21300.         
  21301.         virtual HRESULT STDMETHODCALLTYPE AudioStreamChange( 
  21302.             /* [in] */ ULONG ulAudio) = 0;
  21303.         
  21304.         virtual HRESULT STDMETHODCALLTYPE SubpictureStreamChange( 
  21305.             /* [in] */ ULONG ulSubPicture,
  21306.             /* [in] */ BOOL bDisplay) = 0;
  21307.         
  21308.         virtual HRESULT STDMETHODCALLTYPE AngleChange( 
  21309.             /* [in] */ ULONG ulAngle) = 0;
  21310.         
  21311.         virtual HRESULT STDMETHODCALLTYPE ParentalLevelSelect( 
  21312.             /* [in] */ ULONG ulParentalLevel) = 0;
  21313.         
  21314.         virtual HRESULT STDMETHODCALLTYPE ParentalCountrySelect( 
  21315.             /* [in] */ WORD wCountry) = 0;
  21316.         
  21317.         virtual HRESULT STDMETHODCALLTYPE KaraokeAudioPresentationModeChange( 
  21318.             /* [in] */ ULONG ulMode) = 0;
  21319.         
  21320.         virtual HRESULT STDMETHODCALLTYPE VideoModePreferrence( 
  21321.             /* [in] */ ULONG ulPreferredDisplayMode) = 0;
  21322.         
  21323.         virtual HRESULT STDMETHODCALLTYPE SetRoot( 
  21324.             /* [in] */ LPCWSTR pszPath) = 0;
  21325.         
  21326.         virtual HRESULT STDMETHODCALLTYPE MouseActivate( 
  21327.             /* [in] */ POINT point) = 0;
  21328.         
  21329.         virtual HRESULT STDMETHODCALLTYPE MouseSelect( 
  21330.             /* [in] */ POINT point) = 0;
  21331.         
  21332.         virtual HRESULT STDMETHODCALLTYPE ChapterPlayAutoStop( 
  21333.             /* [in] */ ULONG ulTitle,
  21334.             /* [in] */ ULONG ulChapter,
  21335.             /* [in] */ ULONG ulChaptersToPlay) = 0;
  21336.         
  21337.     };
  21338.     
  21339. #else     /* C style interface */
  21340.  
  21341.     typedef struct IDvdControlVtbl
  21342.     {
  21343.         BEGIN_INTERFACE
  21344.         
  21345.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  21346.             IDvdControl * This,
  21347.             /* [in] */ REFIID riid,
  21348.             /* [iid_is][out] */ void **ppvObject);
  21349.         
  21350.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  21351.             IDvdControl * This);
  21352.         
  21353.         ULONG ( STDMETHODCALLTYPE *Release )( 
  21354.             IDvdControl * This);
  21355.         
  21356.         HRESULT ( STDMETHODCALLTYPE *TitlePlay )( 
  21357.             IDvdControl * This,
  21358.             /* [in] */ ULONG ulTitle);
  21359.         
  21360.         HRESULT ( STDMETHODCALLTYPE *ChapterPlay )( 
  21361.             IDvdControl * This,
  21362.             /* [in] */ ULONG ulTitle,
  21363.             /* [in] */ ULONG ulChapter);
  21364.         
  21365.         HRESULT ( STDMETHODCALLTYPE *TimePlay )( 
  21366.             IDvdControl * This,
  21367.             /* [in] */ ULONG ulTitle,
  21368.             /* [in] */ ULONG bcdTime);
  21369.         
  21370.         HRESULT ( STDMETHODCALLTYPE *StopForResume )( 
  21371.             IDvdControl * This);
  21372.         
  21373.         HRESULT ( STDMETHODCALLTYPE *GoUp )( 
  21374.             IDvdControl * This);
  21375.         
  21376.         HRESULT ( STDMETHODCALLTYPE *TimeSearch )( 
  21377.             IDvdControl * This,
  21378.             /* [in] */ ULONG bcdTime);
  21379.         
  21380.         HRESULT ( STDMETHODCALLTYPE *ChapterSearch )( 
  21381.             IDvdControl * This,
  21382.             /* [in] */ ULONG ulChapter);
  21383.         
  21384.         HRESULT ( STDMETHODCALLTYPE *PrevPGSearch )( 
  21385.             IDvdControl * This);
  21386.         
  21387.         HRESULT ( STDMETHODCALLTYPE *TopPGSearch )( 
  21388.             IDvdControl * This);
  21389.         
  21390.         HRESULT ( STDMETHODCALLTYPE *NextPGSearch )( 
  21391.             IDvdControl * This);
  21392.         
  21393.         HRESULT ( STDMETHODCALLTYPE *ForwardScan )( 
  21394.             IDvdControl * This,
  21395.             /* [in] */ double dwSpeed);
  21396.         
  21397.         HRESULT ( STDMETHODCALLTYPE *BackwardScan )( 
  21398.             IDvdControl * This,
  21399.             /* [in] */ double dwSpeed);
  21400.         
  21401.         HRESULT ( STDMETHODCALLTYPE *MenuCall )( 
  21402.             IDvdControl * This,
  21403.             /* [in] */ DVD_MENU_ID MenuID);
  21404.         
  21405.         HRESULT ( STDMETHODCALLTYPE *Resume )( 
  21406.             IDvdControl * This);
  21407.         
  21408.         HRESULT ( STDMETHODCALLTYPE *UpperButtonSelect )( 
  21409.             IDvdControl * This);
  21410.         
  21411.         HRESULT ( STDMETHODCALLTYPE *LowerButtonSelect )( 
  21412.             IDvdControl * This);
  21413.         
  21414.         HRESULT ( STDMETHODCALLTYPE *LeftButtonSelect )( 
  21415.             IDvdControl * This);
  21416.         
  21417.         HRESULT ( STDMETHODCALLTYPE *RightButtonSelect )( 
  21418.             IDvdControl * This);
  21419.         
  21420.         HRESULT ( STDMETHODCALLTYPE *ButtonActivate )( 
  21421.             IDvdControl * This);
  21422.         
  21423.         HRESULT ( STDMETHODCALLTYPE *ButtonSelectAndActivate )( 
  21424.             IDvdControl * This,
  21425.             /* [in] */ ULONG ulButton);
  21426.         
  21427.         HRESULT ( STDMETHODCALLTYPE *StillOff )( 
  21428.             IDvdControl * This);
  21429.         
  21430.         HRESULT ( STDMETHODCALLTYPE *PauseOn )( 
  21431.             IDvdControl * This);
  21432.         
  21433.         HRESULT ( STDMETHODCALLTYPE *PauseOff )( 
  21434.             IDvdControl * This);
  21435.         
  21436.         HRESULT ( STDMETHODCALLTYPE *MenuLanguageSelect )( 
  21437.             IDvdControl * This,
  21438.             /* [in] */ LCID Language);
  21439.         
  21440.         HRESULT ( STDMETHODCALLTYPE *AudioStreamChange )( 
  21441.             IDvdControl * This,
  21442.             /* [in] */ ULONG ulAudio);
  21443.         
  21444.         HRESULT ( STDMETHODCALLTYPE *SubpictureStreamChange )( 
  21445.             IDvdControl * This,
  21446.             /* [in] */ ULONG ulSubPicture,
  21447.             /* [in] */ BOOL bDisplay);
  21448.         
  21449.         HRESULT ( STDMETHODCALLTYPE *AngleChange )( 
  21450.             IDvdControl * This,
  21451.             /* [in] */ ULONG ulAngle);
  21452.         
  21453.         HRESULT ( STDMETHODCALLTYPE *ParentalLevelSelect )( 
  21454.             IDvdControl * This,
  21455.             /* [in] */ ULONG ulParentalLevel);
  21456.         
  21457.         HRESULT ( STDMETHODCALLTYPE *ParentalCountrySelect )( 
  21458.             IDvdControl * This,
  21459.             /* [in] */ WORD wCountry);
  21460.         
  21461.         HRESULT ( STDMETHODCALLTYPE *KaraokeAudioPresentationModeChange )( 
  21462.             IDvdControl * This,
  21463.             /* [in] */ ULONG ulMode);
  21464.         
  21465.         HRESULT ( STDMETHODCALLTYPE *VideoModePreferrence )( 
  21466.             IDvdControl * This,
  21467.             /* [in] */ ULONG ulPreferredDisplayMode);
  21468.         
  21469.         HRESULT ( STDMETHODCALLTYPE *SetRoot )( 
  21470.             IDvdControl * This,
  21471.             /* [in] */ LPCWSTR pszPath);
  21472.         
  21473.         HRESULT ( STDMETHODCALLTYPE *MouseActivate )( 
  21474.             IDvdControl * This,
  21475.             /* [in] */ POINT point);
  21476.         
  21477.         HRESULT ( STDMETHODCALLTYPE *MouseSelect )( 
  21478.             IDvdControl * This,
  21479.             /* [in] */ POINT point);
  21480.         
  21481.         HRESULT ( STDMETHODCALLTYPE *ChapterPlayAutoStop )( 
  21482.             IDvdControl * This,
  21483.             /* [in] */ ULONG ulTitle,
  21484.             /* [in] */ ULONG ulChapter,
  21485.             /* [in] */ ULONG ulChaptersToPlay);
  21486.         
  21487.         END_INTERFACE
  21488.     } IDvdControlVtbl;
  21489.  
  21490.     interface IDvdControl
  21491.     {
  21492.         CONST_VTBL struct IDvdControlVtbl *lpVtbl;
  21493.     };
  21494.  
  21495.     
  21496.  
  21497. #ifdef COBJMACROS
  21498.  
  21499.  
  21500. #define IDvdControl_QueryInterface(This,riid,ppvObject)    \
  21501.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  21502.  
  21503. #define IDvdControl_AddRef(This)    \
  21504.     (This)->lpVtbl -> AddRef(This)
  21505.  
  21506. #define IDvdControl_Release(This)    \
  21507.     (This)->lpVtbl -> Release(This)
  21508.  
  21509.  
  21510. #define IDvdControl_TitlePlay(This,ulTitle)    \
  21511.     (This)->lpVtbl -> TitlePlay(This,ulTitle)
  21512.  
  21513. #define IDvdControl_ChapterPlay(This,ulTitle,ulChapter)    \
  21514.     (This)->lpVtbl -> ChapterPlay(This,ulTitle,ulChapter)
  21515.  
  21516. #define IDvdControl_TimePlay(This,ulTitle,bcdTime)    \
  21517.     (This)->lpVtbl -> TimePlay(This,ulTitle,bcdTime)
  21518.  
  21519. #define IDvdControl_StopForResume(This)    \
  21520.     (This)->lpVtbl -> StopForResume(This)
  21521.  
  21522. #define IDvdControl_GoUp(This)    \
  21523.     (This)->lpVtbl -> GoUp(This)
  21524.  
  21525. #define IDvdControl_TimeSearch(This,bcdTime)    \
  21526.     (This)->lpVtbl -> TimeSearch(This,bcdTime)
  21527.  
  21528. #define IDvdControl_ChapterSearch(This,ulChapter)    \
  21529.     (This)->lpVtbl -> ChapterSearch(This,ulChapter)
  21530.  
  21531. #define IDvdControl_PrevPGSearch(This)    \
  21532.     (This)->lpVtbl -> PrevPGSearch(This)
  21533.  
  21534. #define IDvdControl_TopPGSearch(This)    \
  21535.     (This)->lpVtbl -> TopPGSearch(This)
  21536.  
  21537. #define IDvdControl_NextPGSearch(This)    \
  21538.     (This)->lpVtbl -> NextPGSearch(This)
  21539.  
  21540. #define IDvdControl_ForwardScan(This,dwSpeed)    \
  21541.     (This)->lpVtbl -> ForwardScan(This,dwSpeed)
  21542.  
  21543. #define IDvdControl_BackwardScan(This,dwSpeed)    \
  21544.     (This)->lpVtbl -> BackwardScan(This,dwSpeed)
  21545.  
  21546. #define IDvdControl_MenuCall(This,MenuID)    \
  21547.     (This)->lpVtbl -> MenuCall(This,MenuID)
  21548.  
  21549. #define IDvdControl_Resume(This)    \
  21550.     (This)->lpVtbl -> Resume(This)
  21551.  
  21552. #define IDvdControl_UpperButtonSelect(This)    \
  21553.     (This)->lpVtbl -> UpperButtonSelect(This)
  21554.  
  21555. #define IDvdControl_LowerButtonSelect(This)    \
  21556.     (This)->lpVtbl -> LowerButtonSelect(This)
  21557.  
  21558. #define IDvdControl_LeftButtonSelect(This)    \
  21559.     (This)->lpVtbl -> LeftButtonSelect(This)
  21560.  
  21561. #define IDvdControl_RightButtonSelect(This)    \
  21562.     (This)->lpVtbl -> RightButtonSelect(This)
  21563.  
  21564. #define IDvdControl_ButtonActivate(This)    \
  21565.     (This)->lpVtbl -> ButtonActivate(This)
  21566.  
  21567. #define IDvdControl_ButtonSelectAndActivate(This,ulButton)    \
  21568.     (This)->lpVtbl -> ButtonSelectAndActivate(This,ulButton)
  21569.  
  21570. #define IDvdControl_StillOff(This)    \
  21571.     (This)->lpVtbl -> StillOff(This)
  21572.  
  21573. #define IDvdControl_PauseOn(This)    \
  21574.     (This)->lpVtbl -> PauseOn(This)
  21575.  
  21576. #define IDvdControl_PauseOff(This)    \
  21577.     (This)->lpVtbl -> PauseOff(This)
  21578.  
  21579. #define IDvdControl_MenuLanguageSelect(This,Language)    \
  21580.     (This)->lpVtbl -> MenuLanguageSelect(This,Language)
  21581.  
  21582. #define IDvdControl_AudioStreamChange(This,ulAudio)    \
  21583.     (This)->lpVtbl -> AudioStreamChange(This,ulAudio)
  21584.  
  21585. #define IDvdControl_SubpictureStreamChange(This,ulSubPicture,bDisplay)    \
  21586.     (This)->lpVtbl -> SubpictureStreamChange(This,ulSubPicture,bDisplay)
  21587.  
  21588. #define IDvdControl_AngleChange(This,ulAngle)    \
  21589.     (This)->lpVtbl -> AngleChange(This,ulAngle)
  21590.  
  21591. #define IDvdControl_ParentalLevelSelect(This,ulParentalLevel)    \
  21592.     (This)->lpVtbl -> ParentalLevelSelect(This,ulParentalLevel)
  21593.  
  21594. #define IDvdControl_ParentalCountrySelect(This,wCountry)    \
  21595.     (This)->lpVtbl -> ParentalCountrySelect(This,wCountry)
  21596.  
  21597. #define IDvdControl_KaraokeAudioPresentationModeChange(This,ulMode)    \
  21598.     (This)->lpVtbl -> KaraokeAudioPresentationModeChange(This,ulMode)
  21599.  
  21600. #define IDvdControl_VideoModePreferrence(This,ulPreferredDisplayMode)    \
  21601.     (This)->lpVtbl -> VideoModePreferrence(This,ulPreferredDisplayMode)
  21602.  
  21603. #define IDvdControl_SetRoot(This,pszPath)    \
  21604.     (This)->lpVtbl -> SetRoot(This,pszPath)
  21605.  
  21606. #define IDvdControl_MouseActivate(This,point)    \
  21607.     (This)->lpVtbl -> MouseActivate(This,point)
  21608.  
  21609. #define IDvdControl_MouseSelect(This,point)    \
  21610.     (This)->lpVtbl -> MouseSelect(This,point)
  21611.  
  21612. #define IDvdControl_ChapterPlayAutoStop(This,ulTitle,ulChapter,ulChaptersToPlay)    \
  21613.     (This)->lpVtbl -> ChapterPlayAutoStop(This,ulTitle,ulChapter,ulChaptersToPlay)
  21614.  
  21615. #endif /* COBJMACROS */
  21616.  
  21617.  
  21618. #endif     /* C style interface */
  21619.  
  21620.  
  21621.  
  21622. HRESULT STDMETHODCALLTYPE IDvdControl_TitlePlay_Proxy( 
  21623.     IDvdControl * This,
  21624.     /* [in] */ ULONG ulTitle);
  21625.  
  21626.  
  21627. void __RPC_STUB IDvdControl_TitlePlay_Stub(
  21628.     IRpcStubBuffer *This,
  21629.     IRpcChannelBuffer *_pRpcChannelBuffer,
  21630.     PRPC_MESSAGE _pRpcMessage,
  21631.     DWORD *_pdwStubPhase);
  21632.  
  21633.  
  21634. HRESULT STDMETHODCALLTYPE IDvdControl_ChapterPlay_Proxy( 
  21635.     IDvdControl * This,
  21636.     /* [in] */ ULONG ulTitle,
  21637.     /* [in] */ ULONG ulChapter);
  21638.  
  21639.  
  21640. void __RPC_STUB IDvdControl_ChapterPlay_Stub(
  21641.     IRpcStubBuffer *This,
  21642.     IRpcChannelBuffer *_pRpcChannelBuffer,
  21643.     PRPC_MESSAGE _pRpcMessage,
  21644.     DWORD *_pdwStubPhase);
  21645.  
  21646.  
  21647. HRESULT STDMETHODCALLTYPE IDvdControl_TimePlay_Proxy( 
  21648.     IDvdControl * This,
  21649.     /* [in] */ ULONG ulTitle,
  21650.     /* [in] */ ULONG bcdTime);
  21651.  
  21652.  
  21653. void __RPC_STUB IDvdControl_TimePlay_Stub(
  21654.     IRpcStubBuffer *This,
  21655.     IRpcChannelBuffer *_pRpcChannelBuffer,
  21656.     PRPC_MESSAGE _pRpcMessage,
  21657.     DWORD *_pdwStubPhase);
  21658.  
  21659.  
  21660. HRESULT STDMETHODCALLTYPE IDvdControl_StopForResume_Proxy( 
  21661.     IDvdControl * This);
  21662.  
  21663.  
  21664. void __RPC_STUB IDvdControl_StopForResume_Stub(
  21665.     IRpcStubBuffer *This,
  21666.     IRpcChannelBuffer *_pRpcChannelBuffer,
  21667.     PRPC_MESSAGE _pRpcMessage,
  21668.     DWORD *_pdwStubPhase);
  21669.  
  21670.  
  21671. HRESULT STDMETHODCALLTYPE IDvdControl_GoUp_Proxy( 
  21672.     IDvdControl * This);
  21673.  
  21674.  
  21675. void __RPC_STUB IDvdControl_GoUp_Stub(
  21676.     IRpcStubBuffer *This,
  21677.     IRpcChannelBuffer *_pRpcChannelBuffer,
  21678.     PRPC_MESSAGE _pRpcMessage,
  21679.     DWORD *_pdwStubPhase);
  21680.  
  21681.  
  21682. HRESULT STDMETHODCALLTYPE IDvdControl_TimeSearch_Proxy( 
  21683.     IDvdControl * This,
  21684.     /* [in] */ ULONG bcdTime);
  21685.  
  21686.  
  21687. void __RPC_STUB IDvdControl_TimeSearch_Stub(
  21688.     IRpcStubBuffer *This,
  21689.     IRpcChannelBuffer *_pRpcChannelBuffer,
  21690.     PRPC_MESSAGE _pRpcMessage,
  21691.     DWORD *_pdwStubPhase);
  21692.  
  21693.  
  21694. HRESULT STDMETHODCALLTYPE IDvdControl_ChapterSearch_Proxy( 
  21695.     IDvdControl * This,
  21696.     /* [in] */ ULONG ulChapter);
  21697.  
  21698.  
  21699. void __RPC_STUB IDvdControl_ChapterSearch_Stub(
  21700.     IRpcStubBuffer *This,
  21701.     IRpcChannelBuffer *_pRpcChannelBuffer,
  21702.     PRPC_MESSAGE _pRpcMessage,
  21703.     DWORD *_pdwStubPhase);
  21704.  
  21705.  
  21706. HRESULT STDMETHODCALLTYPE IDvdControl_PrevPGSearch_Proxy( 
  21707.     IDvdControl * This);
  21708.  
  21709.  
  21710. void __RPC_STUB IDvdControl_PrevPGSearch_Stub(
  21711.     IRpcStubBuffer *This,
  21712.     IRpcChannelBuffer *_pRpcChannelBuffer,
  21713.     PRPC_MESSAGE _pRpcMessage,
  21714.     DWORD *_pdwStubPhase);
  21715.  
  21716.  
  21717. HRESULT STDMETHODCALLTYPE IDvdControl_TopPGSearch_Proxy( 
  21718.     IDvdControl * This);
  21719.  
  21720.  
  21721. void __RPC_STUB IDvdControl_TopPGSearch_Stub(
  21722.     IRpcStubBuffer *This,
  21723.     IRpcChannelBuffer *_pRpcChannelBuffer,
  21724.     PRPC_MESSAGE _pRpcMessage,
  21725.     DWORD *_pdwStubPhase);
  21726.  
  21727.  
  21728. HRESULT STDMETHODCALLTYPE IDvdControl_NextPGSearch_Proxy( 
  21729.     IDvdControl * This);
  21730.  
  21731.  
  21732. void __RPC_STUB IDvdControl_NextPGSearch_Stub(
  21733.     IRpcStubBuffer *This,
  21734.     IRpcChannelBuffer *_pRpcChannelBuffer,
  21735.     PRPC_MESSAGE _pRpcMessage,
  21736.     DWORD *_pdwStubPhase);
  21737.  
  21738.  
  21739. HRESULT STDMETHODCALLTYPE IDvdControl_ForwardScan_Proxy( 
  21740.     IDvdControl * This,
  21741.     /* [in] */ double dwSpeed);
  21742.  
  21743.  
  21744. void __RPC_STUB IDvdControl_ForwardScan_Stub(
  21745.     IRpcStubBuffer *This,
  21746.     IRpcChannelBuffer *_pRpcChannelBuffer,
  21747.     PRPC_MESSAGE _pRpcMessage,
  21748.     DWORD *_pdwStubPhase);
  21749.  
  21750.  
  21751. HRESULT STDMETHODCALLTYPE IDvdControl_BackwardScan_Proxy( 
  21752.     IDvdControl * This,
  21753.     /* [in] */ double dwSpeed);
  21754.  
  21755.  
  21756. void __RPC_STUB IDvdControl_BackwardScan_Stub(
  21757.     IRpcStubBuffer *This,
  21758.     IRpcChannelBuffer *_pRpcChannelBuffer,
  21759.     PRPC_MESSAGE _pRpcMessage,
  21760.     DWORD *_pdwStubPhase);
  21761.  
  21762.  
  21763. HRESULT STDMETHODCALLTYPE IDvdControl_MenuCall_Proxy( 
  21764.     IDvdControl * This,
  21765.     /* [in] */ DVD_MENU_ID MenuID);
  21766.  
  21767.  
  21768. void __RPC_STUB IDvdControl_MenuCall_Stub(
  21769.     IRpcStubBuffer *This,
  21770.     IRpcChannelBuffer *_pRpcChannelBuffer,
  21771.     PRPC_MESSAGE _pRpcMessage,
  21772.     DWORD *_pdwStubPhase);
  21773.  
  21774.  
  21775. HRESULT STDMETHODCALLTYPE IDvdControl_Resume_Proxy( 
  21776.     IDvdControl * This);
  21777.  
  21778.  
  21779. void __RPC_STUB IDvdControl_Resume_Stub(
  21780.     IRpcStubBuffer *This,
  21781.     IRpcChannelBuffer *_pRpcChannelBuffer,
  21782.     PRPC_MESSAGE _pRpcMessage,
  21783.     DWORD *_pdwStubPhase);
  21784.  
  21785.  
  21786. HRESULT STDMETHODCALLTYPE IDvdControl_UpperButtonSelect_Proxy( 
  21787.     IDvdControl * This);
  21788.  
  21789.  
  21790. void __RPC_STUB IDvdControl_UpperButtonSelect_Stub(
  21791.     IRpcStubBuffer *This,
  21792.     IRpcChannelBuffer *_pRpcChannelBuffer,
  21793.     PRPC_MESSAGE _pRpcMessage,
  21794.     DWORD *_pdwStubPhase);
  21795.  
  21796.  
  21797. HRESULT STDMETHODCALLTYPE IDvdControl_LowerButtonSelect_Proxy( 
  21798.     IDvdControl * This);
  21799.  
  21800.  
  21801. void __RPC_STUB IDvdControl_LowerButtonSelect_Stub(
  21802.     IRpcStubBuffer *This,
  21803.     IRpcChannelBuffer *_pRpcChannelBuffer,
  21804.     PRPC_MESSAGE _pRpcMessage,
  21805.     DWORD *_pdwStubPhase);
  21806.  
  21807.  
  21808. HRESULT STDMETHODCALLTYPE IDvdControl_LeftButtonSelect_Proxy( 
  21809.     IDvdControl * This);
  21810.  
  21811.  
  21812. void __RPC_STUB IDvdControl_LeftButtonSelect_Stub(
  21813.     IRpcStubBuffer *This,
  21814.     IRpcChannelBuffer *_pRpcChannelBuffer,
  21815.     PRPC_MESSAGE _pRpcMessage,
  21816.     DWORD *_pdwStubPhase);
  21817.  
  21818.  
  21819. HRESULT STDMETHODCALLTYPE IDvdControl_RightButtonSelect_Proxy( 
  21820.     IDvdControl * This);
  21821.  
  21822.  
  21823. void __RPC_STUB IDvdControl_RightButtonSelect_Stub(
  21824.     IRpcStubBuffer *This,
  21825.     IRpcChannelBuffer *_pRpcChannelBuffer,
  21826.     PRPC_MESSAGE _pRpcMessage,
  21827.     DWORD *_pdwStubPhase);
  21828.  
  21829.  
  21830. HRESULT STDMETHODCALLTYPE IDvdControl_ButtonActivate_Proxy( 
  21831.     IDvdControl * This);
  21832.  
  21833.  
  21834. void __RPC_STUB IDvdControl_ButtonActivate_Stub(
  21835.     IRpcStubBuffer *This,
  21836.     IRpcChannelBuffer *_pRpcChannelBuffer,
  21837.     PRPC_MESSAGE _pRpcMessage,
  21838.     DWORD *_pdwStubPhase);
  21839.  
  21840.  
  21841. HRESULT STDMETHODCALLTYPE IDvdControl_ButtonSelectAndActivate_Proxy( 
  21842.     IDvdControl * This,
  21843.     /* [in] */ ULONG ulButton);
  21844.  
  21845.  
  21846. void __RPC_STUB IDvdControl_ButtonSelectAndActivate_Stub(
  21847.     IRpcStubBuffer *This,
  21848.     IRpcChannelBuffer *_pRpcChannelBuffer,
  21849.     PRPC_MESSAGE _pRpcMessage,
  21850.     DWORD *_pdwStubPhase);
  21851.  
  21852.  
  21853. HRESULT STDMETHODCALLTYPE IDvdControl_StillOff_Proxy( 
  21854.     IDvdControl * This);
  21855.  
  21856.  
  21857. void __RPC_STUB IDvdControl_StillOff_Stub(
  21858.     IRpcStubBuffer *This,
  21859.     IRpcChannelBuffer *_pRpcChannelBuffer,
  21860.     PRPC_MESSAGE _pRpcMessage,
  21861.     DWORD *_pdwStubPhase);
  21862.  
  21863.  
  21864. HRESULT STDMETHODCALLTYPE IDvdControl_PauseOn_Proxy( 
  21865.     IDvdControl * This);
  21866.  
  21867.  
  21868. void __RPC_STUB IDvdControl_PauseOn_Stub(
  21869.     IRpcStubBuffer *This,
  21870.     IRpcChannelBuffer *_pRpcChannelBuffer,
  21871.     PRPC_MESSAGE _pRpcMessage,
  21872.     DWORD *_pdwStubPhase);
  21873.  
  21874.  
  21875. HRESULT STDMETHODCALLTYPE IDvdControl_PauseOff_Proxy( 
  21876.     IDvdControl * This);
  21877.  
  21878.  
  21879. void __RPC_STUB IDvdControl_PauseOff_Stub(
  21880.     IRpcStubBuffer *This,
  21881.     IRpcChannelBuffer *_pRpcChannelBuffer,
  21882.     PRPC_MESSAGE _pRpcMessage,
  21883.     DWORD *_pdwStubPhase);
  21884.  
  21885.  
  21886. HRESULT STDMETHODCALLTYPE IDvdControl_MenuLanguageSelect_Proxy( 
  21887.     IDvdControl * This,
  21888.     /* [in] */ LCID Language);
  21889.  
  21890.  
  21891. void __RPC_STUB IDvdControl_MenuLanguageSelect_Stub(
  21892.     IRpcStubBuffer *This,
  21893.     IRpcChannelBuffer *_pRpcChannelBuffer,
  21894.     PRPC_MESSAGE _pRpcMessage,
  21895.     DWORD *_pdwStubPhase);
  21896.  
  21897.  
  21898. HRESULT STDMETHODCALLTYPE IDvdControl_AudioStreamChange_Proxy( 
  21899.     IDvdControl * This,
  21900.     /* [in] */ ULONG ulAudio);
  21901.  
  21902.  
  21903. void __RPC_STUB IDvdControl_AudioStreamChange_Stub(
  21904.     IRpcStubBuffer *This,
  21905.     IRpcChannelBuffer *_pRpcChannelBuffer,
  21906.     PRPC_MESSAGE _pRpcMessage,
  21907.     DWORD *_pdwStubPhase);
  21908.  
  21909.  
  21910. HRESULT STDMETHODCALLTYPE IDvdControl_SubpictureStreamChange_Proxy( 
  21911.     IDvdControl * This,
  21912.     /* [in] */ ULONG ulSubPicture,
  21913.     /* [in] */ BOOL bDisplay);
  21914.  
  21915.  
  21916. void __RPC_STUB IDvdControl_SubpictureStreamChange_Stub(
  21917.     IRpcStubBuffer *This,
  21918.     IRpcChannelBuffer *_pRpcChannelBuffer,
  21919.     PRPC_MESSAGE _pRpcMessage,
  21920.     DWORD *_pdwStubPhase);
  21921.  
  21922.  
  21923. HRESULT STDMETHODCALLTYPE IDvdControl_AngleChange_Proxy( 
  21924.     IDvdControl * This,
  21925.     /* [in] */ ULONG ulAngle);
  21926.  
  21927.  
  21928. void __RPC_STUB IDvdControl_AngleChange_Stub(
  21929.     IRpcStubBuffer *This,
  21930.     IRpcChannelBuffer *_pRpcChannelBuffer,
  21931.     PRPC_MESSAGE _pRpcMessage,
  21932.     DWORD *_pdwStubPhase);
  21933.  
  21934.  
  21935. HRESULT STDMETHODCALLTYPE IDvdControl_ParentalLevelSelect_Proxy( 
  21936.     IDvdControl * This,
  21937.     /* [in] */ ULONG ulParentalLevel);
  21938.  
  21939.  
  21940. void __RPC_STUB IDvdControl_ParentalLevelSelect_Stub(
  21941.     IRpcStubBuffer *This,
  21942.     IRpcChannelBuffer *_pRpcChannelBuffer,
  21943.     PRPC_MESSAGE _pRpcMessage,
  21944.     DWORD *_pdwStubPhase);
  21945.  
  21946.  
  21947. HRESULT STDMETHODCALLTYPE IDvdControl_ParentalCountrySelect_Proxy( 
  21948.     IDvdControl * This,
  21949.     /* [in] */ WORD wCountry);
  21950.  
  21951.  
  21952. void __RPC_STUB IDvdControl_ParentalCountrySelect_Stub(
  21953.     IRpcStubBuffer *This,
  21954.     IRpcChannelBuffer *_pRpcChannelBuffer,
  21955.     PRPC_MESSAGE _pRpcMessage,
  21956.     DWORD *_pdwStubPhase);
  21957.  
  21958.  
  21959. HRESULT STDMETHODCALLTYPE IDvdControl_KaraokeAudioPresentationModeChange_Proxy( 
  21960.     IDvdControl * This,
  21961.     /* [in] */ ULONG ulMode);
  21962.  
  21963.  
  21964. void __RPC_STUB IDvdControl_KaraokeAudioPresentationModeChange_Stub(
  21965.     IRpcStubBuffer *This,
  21966.     IRpcChannelBuffer *_pRpcChannelBuffer,
  21967.     PRPC_MESSAGE _pRpcMessage,
  21968.     DWORD *_pdwStubPhase);
  21969.  
  21970.  
  21971. HRESULT STDMETHODCALLTYPE IDvdControl_VideoModePreferrence_Proxy( 
  21972.     IDvdControl * This,
  21973.     /* [in] */ ULONG ulPreferredDisplayMode);
  21974.  
  21975.  
  21976. void __RPC_STUB IDvdControl_VideoModePreferrence_Stub(
  21977.     IRpcStubBuffer *This,
  21978.     IRpcChannelBuffer *_pRpcChannelBuffer,
  21979.     PRPC_MESSAGE _pRpcMessage,
  21980.     DWORD *_pdwStubPhase);
  21981.  
  21982.  
  21983. HRESULT STDMETHODCALLTYPE IDvdControl_SetRoot_Proxy( 
  21984.     IDvdControl * This,
  21985.     /* [in] */ LPCWSTR pszPath);
  21986.  
  21987.  
  21988. void __RPC_STUB IDvdControl_SetRoot_Stub(
  21989.     IRpcStubBuffer *This,
  21990.     IRpcChannelBuffer *_pRpcChannelBuffer,
  21991.     PRPC_MESSAGE _pRpcMessage,
  21992.     DWORD *_pdwStubPhase);
  21993.  
  21994.  
  21995. HRESULT STDMETHODCALLTYPE IDvdControl_MouseActivate_Proxy( 
  21996.     IDvdControl * This,
  21997.     /* [in] */ POINT point);
  21998.  
  21999.  
  22000. void __RPC_STUB IDvdControl_MouseActivate_Stub(
  22001.     IRpcStubBuffer *This,
  22002.     IRpcChannelBuffer *_pRpcChannelBuffer,
  22003.     PRPC_MESSAGE _pRpcMessage,
  22004.     DWORD *_pdwStubPhase);
  22005.  
  22006.  
  22007. HRESULT STDMETHODCALLTYPE IDvdControl_MouseSelect_Proxy( 
  22008.     IDvdControl * This,
  22009.     /* [in] */ POINT point);
  22010.  
  22011.  
  22012. void __RPC_STUB IDvdControl_MouseSelect_Stub(
  22013.     IRpcStubBuffer *This,
  22014.     IRpcChannelBuffer *_pRpcChannelBuffer,
  22015.     PRPC_MESSAGE _pRpcMessage,
  22016.     DWORD *_pdwStubPhase);
  22017.  
  22018.  
  22019. HRESULT STDMETHODCALLTYPE IDvdControl_ChapterPlayAutoStop_Proxy( 
  22020.     IDvdControl * This,
  22021.     /* [in] */ ULONG ulTitle,
  22022.     /* [in] */ ULONG ulChapter,
  22023.     /* [in] */ ULONG ulChaptersToPlay);
  22024.  
  22025.  
  22026. void __RPC_STUB IDvdControl_ChapterPlayAutoStop_Stub(
  22027.     IRpcStubBuffer *This,
  22028.     IRpcChannelBuffer *_pRpcChannelBuffer,
  22029.     PRPC_MESSAGE _pRpcMessage,
  22030.     DWORD *_pdwStubPhase);
  22031.  
  22032.  
  22033.  
  22034. #endif     /* __IDvdControl_INTERFACE_DEFINED__ */
  22035.  
  22036.  
  22037. #ifndef __IDvdInfo_INTERFACE_DEFINED__
  22038. #define __IDvdInfo_INTERFACE_DEFINED__
  22039.  
  22040. /* interface IDvdInfo */
  22041. /* [unique][uuid][object] */ 
  22042.  
  22043.  
  22044. EXTERN_C const IID IID_IDvdInfo;
  22045.  
  22046. #if defined(__cplusplus) && !defined(CINTERFACE)
  22047.     
  22048.     MIDL_INTERFACE("A70EFE60-E2A3-11d0-A9BE-00AA0061BE93")
  22049.     IDvdInfo : public IUnknown
  22050.     {
  22051.     public:
  22052.         virtual HRESULT STDMETHODCALLTYPE GetCurrentDomain( 
  22053.             /* [out] */ DVD_DOMAIN *pDomain) = 0;
  22054.         
  22055.         virtual HRESULT STDMETHODCALLTYPE GetCurrentLocation( 
  22056.             /* [out] */ DVD_PLAYBACK_LOCATION *pLocation) = 0;
  22057.         
  22058.         virtual HRESULT STDMETHODCALLTYPE GetTotalTitleTime( 
  22059.             /* [out] */ ULONG *pulTotalTime) = 0;
  22060.         
  22061.         virtual HRESULT STDMETHODCALLTYPE GetCurrentButton( 
  22062.             /* [out] */ ULONG *pulButtonsAvailable,
  22063.             /* [out] */ ULONG *pulCurrentButton) = 0;
  22064.         
  22065.         virtual HRESULT STDMETHODCALLTYPE GetCurrentAngle( 
  22066.             /* [out] */ ULONG *pulAnglesAvailable,
  22067.             /* [out] */ ULONG *pulCurrentAngle) = 0;
  22068.         
  22069.         virtual HRESULT STDMETHODCALLTYPE GetCurrentAudio( 
  22070.             /* [out] */ ULONG *pulStreamsAvailable,
  22071.             /* [out] */ ULONG *pulCurrentStream) = 0;
  22072.         
  22073.         virtual HRESULT STDMETHODCALLTYPE GetCurrentSubpicture( 
  22074.             /* [out] */ ULONG *pulStreamsAvailable,
  22075.             /* [out] */ ULONG *pulCurrentStream,
  22076.             /* [out] */ BOOL *pIsDisabled) = 0;
  22077.         
  22078.         virtual HRESULT STDMETHODCALLTYPE GetCurrentUOPS( 
  22079.             /* [out] */ VALID_UOP_SOMTHING_OR_OTHER *pUOP) = 0;
  22080.         
  22081.         virtual HRESULT STDMETHODCALLTYPE GetAllSPRMs( 
  22082.             /* [out] */ SPRMARRAY *pRegisterArray) = 0;
  22083.         
  22084.         virtual HRESULT STDMETHODCALLTYPE GetAllGPRMs( 
  22085.             /* [out] */ GPRMARRAY *pRegisterArray) = 0;
  22086.         
  22087.         virtual HRESULT STDMETHODCALLTYPE GetAudioLanguage( 
  22088.             /* [in] */ ULONG ulStream,
  22089.             /* [out] */ LCID *pLanguage) = 0;
  22090.         
  22091.         virtual HRESULT STDMETHODCALLTYPE GetSubpictureLanguage( 
  22092.             /* [in] */ ULONG ulStream,
  22093.             /* [out] */ LCID *pLanguage) = 0;
  22094.         
  22095.         virtual HRESULT STDMETHODCALLTYPE GetTitleAttributes( 
  22096.             /* [in] */ ULONG ulTitle,
  22097.             /* [out] */ DVD_ATR *pATR) = 0;
  22098.         
  22099.         virtual HRESULT STDMETHODCALLTYPE GetVMGAttributes( 
  22100.             /* [out] */ DVD_ATR *pATR) = 0;
  22101.         
  22102.         virtual HRESULT STDMETHODCALLTYPE GetCurrentVideoAttributes( 
  22103.             /* [out] */ DVD_VideoATR *pATR) = 0;
  22104.         
  22105.         virtual HRESULT STDMETHODCALLTYPE GetCurrentAudioAttributes( 
  22106.             /* [out] */ DVD_AudioATR *pATR) = 0;
  22107.         
  22108.         virtual HRESULT STDMETHODCALLTYPE GetCurrentSubpictureAttributes( 
  22109.             /* [out] */ DVD_SubpictureATR *pATR) = 0;
  22110.         
  22111.         virtual HRESULT STDMETHODCALLTYPE GetCurrentVolumeInfo( 
  22112.             /* [out] */ ULONG *pulNumOfVol,
  22113.             /* [out] */ ULONG *pulThisVolNum,
  22114.             /* [out] */ DVD_DISC_SIDE *pSide,
  22115.             /* [out] */ ULONG *pulNumOfTitles) = 0;
  22116.         
  22117.         virtual HRESULT STDMETHODCALLTYPE GetDVDTextInfo( 
  22118.             /* [size_is][out] */ BYTE *pTextManager,
  22119.             /* [in] */ ULONG ulBufSize,
  22120.             /* [out] */ ULONG *pulActualSize) = 0;
  22121.         
  22122.         virtual HRESULT STDMETHODCALLTYPE GetPlayerParentalLevel( 
  22123.             /* [out] */ ULONG *pulParentalLevel,
  22124.             /* [out] */ ULONG *pulCountryCode) = 0;
  22125.         
  22126.         virtual HRESULT STDMETHODCALLTYPE GetNumberOfChapters( 
  22127.             /* [in] */ ULONG ulTitle,
  22128.             /* [out] */ ULONG *pulNumberOfChapters) = 0;
  22129.         
  22130.         virtual HRESULT STDMETHODCALLTYPE GetTitleParentalLevels( 
  22131.             /* [in] */ ULONG ulTitle,
  22132.             /* [out] */ ULONG *pulParentalLevels) = 0;
  22133.         
  22134.         virtual HRESULT STDMETHODCALLTYPE GetRoot( 
  22135.             /* [size_is][out] */ LPSTR pRoot,
  22136.             /* [in] */ ULONG ulBufSize,
  22137.             /* [out] */ ULONG *pulActualSize) = 0;
  22138.         
  22139.     };
  22140.     
  22141. #else     /* C style interface */
  22142.  
  22143.     typedef struct IDvdInfoVtbl
  22144.     {
  22145.         BEGIN_INTERFACE
  22146.         
  22147.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  22148.             IDvdInfo * This,
  22149.             /* [in] */ REFIID riid,
  22150.             /* [iid_is][out] */ void **ppvObject);
  22151.         
  22152.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  22153.             IDvdInfo * This);
  22154.         
  22155.         ULONG ( STDMETHODCALLTYPE *Release )( 
  22156.             IDvdInfo * This);
  22157.         
  22158.         HRESULT ( STDMETHODCALLTYPE *GetCurrentDomain )( 
  22159.             IDvdInfo * This,
  22160.             /* [out] */ DVD_DOMAIN *pDomain);
  22161.         
  22162.         HRESULT ( STDMETHODCALLTYPE *GetCurrentLocation )( 
  22163.             IDvdInfo * This,
  22164.             /* [out] */ DVD_PLAYBACK_LOCATION *pLocation);
  22165.         
  22166.         HRESULT ( STDMETHODCALLTYPE *GetTotalTitleTime )( 
  22167.             IDvdInfo * This,
  22168.             /* [out] */ ULONG *pulTotalTime);
  22169.         
  22170.         HRESULT ( STDMETHODCALLTYPE *GetCurrentButton )( 
  22171.             IDvdInfo * This,
  22172.             /* [out] */ ULONG *pulButtonsAvailable,
  22173.             /* [out] */ ULONG *pulCurrentButton);
  22174.         
  22175.         HRESULT ( STDMETHODCALLTYPE *GetCurrentAngle )( 
  22176.             IDvdInfo * This,
  22177.             /* [out] */ ULONG *pulAnglesAvailable,
  22178.             /* [out] */ ULONG *pulCurrentAngle);
  22179.         
  22180.         HRESULT ( STDMETHODCALLTYPE *GetCurrentAudio )( 
  22181.             IDvdInfo * This,
  22182.             /* [out] */ ULONG *pulStreamsAvailable,
  22183.             /* [out] */ ULONG *pulCurrentStream);
  22184.         
  22185.         HRESULT ( STDMETHODCALLTYPE *GetCurrentSubpicture )( 
  22186.             IDvdInfo * This,
  22187.             /* [out] */ ULONG *pulStreamsAvailable,
  22188.             /* [out] */ ULONG *pulCurrentStream,
  22189.             /* [out] */ BOOL *pIsDisabled);
  22190.         
  22191.         HRESULT ( STDMETHODCALLTYPE *GetCurrentUOPS )( 
  22192.             IDvdInfo * This,
  22193.             /* [out] */ VALID_UOP_SOMTHING_OR_OTHER *pUOP);
  22194.         
  22195.         HRESULT ( STDMETHODCALLTYPE *GetAllSPRMs )( 
  22196.             IDvdInfo * This,
  22197.             /* [out] */ SPRMARRAY *pRegisterArray);
  22198.         
  22199.         HRESULT ( STDMETHODCALLTYPE *GetAllGPRMs )( 
  22200.             IDvdInfo * This,
  22201.             /* [out] */ GPRMARRAY *pRegisterArray);
  22202.         
  22203.         HRESULT ( STDMETHODCALLTYPE *GetAudioLanguage )( 
  22204.             IDvdInfo * This,
  22205.             /* [in] */ ULONG ulStream,
  22206.             /* [out] */ LCID *pLanguage);
  22207.         
  22208.         HRESULT ( STDMETHODCALLTYPE *GetSubpictureLanguage )( 
  22209.             IDvdInfo * This,
  22210.             /* [in] */ ULONG ulStream,
  22211.             /* [out] */ LCID *pLanguage);
  22212.         
  22213.         HRESULT ( STDMETHODCALLTYPE *GetTitleAttributes )( 
  22214.             IDvdInfo * This,
  22215.             /* [in] */ ULONG ulTitle,
  22216.             /* [out] */ DVD_ATR *pATR);
  22217.         
  22218.         HRESULT ( STDMETHODCALLTYPE *GetVMGAttributes )( 
  22219.             IDvdInfo * This,
  22220.             /* [out] */ DVD_ATR *pATR);
  22221.         
  22222.         HRESULT ( STDMETHODCALLTYPE *GetCurrentVideoAttributes )( 
  22223.             IDvdInfo * This,
  22224.             /* [out] */ DVD_VideoATR *pATR);
  22225.         
  22226.         HRESULT ( STDMETHODCALLTYPE *GetCurrentAudioAttributes )( 
  22227.             IDvdInfo * This,
  22228.             /* [out] */ DVD_AudioATR *pATR);
  22229.         
  22230.         HRESULT ( STDMETHODCALLTYPE *GetCurrentSubpictureAttributes )( 
  22231.             IDvdInfo * This,
  22232.             /* [out] */ DVD_SubpictureATR *pATR);
  22233.         
  22234.         HRESULT ( STDMETHODCALLTYPE *GetCurrentVolumeInfo )( 
  22235.             IDvdInfo * This,
  22236.             /* [out] */ ULONG *pulNumOfVol,
  22237.             /* [out] */ ULONG *pulThisVolNum,
  22238.             /* [out] */ DVD_DISC_SIDE *pSide,
  22239.             /* [out] */ ULONG *pulNumOfTitles);
  22240.         
  22241.         HRESULT ( STDMETHODCALLTYPE *GetDVDTextInfo )( 
  22242.             IDvdInfo * This,
  22243.             /* [size_is][out] */ BYTE *pTextManager,
  22244.             /* [in] */ ULONG ulBufSize,
  22245.             /* [out] */ ULONG *pulActualSize);
  22246.         
  22247.         HRESULT ( STDMETHODCALLTYPE *GetPlayerParentalLevel )( 
  22248.             IDvdInfo * This,
  22249.             /* [out] */ ULONG *pulParentalLevel,
  22250.             /* [out] */ ULONG *pulCountryCode);
  22251.         
  22252.         HRESULT ( STDMETHODCALLTYPE *GetNumberOfChapters )( 
  22253.             IDvdInfo * This,
  22254.             /* [in] */ ULONG ulTitle,
  22255.             /* [out] */ ULONG *pulNumberOfChapters);
  22256.         
  22257.         HRESULT ( STDMETHODCALLTYPE *GetTitleParentalLevels )( 
  22258.             IDvdInfo * This,
  22259.             /* [in] */ ULONG ulTitle,
  22260.             /* [out] */ ULONG *pulParentalLevels);
  22261.         
  22262.         HRESULT ( STDMETHODCALLTYPE *GetRoot )( 
  22263.             IDvdInfo * This,
  22264.             /* [size_is][out] */ LPSTR pRoot,
  22265.             /* [in] */ ULONG ulBufSize,
  22266.             /* [out] */ ULONG *pulActualSize);
  22267.         
  22268.         END_INTERFACE
  22269.     } IDvdInfoVtbl;
  22270.  
  22271.     interface IDvdInfo
  22272.     {
  22273.         CONST_VTBL struct IDvdInfoVtbl *lpVtbl;
  22274.     };
  22275.  
  22276.     
  22277.  
  22278. #ifdef COBJMACROS
  22279.  
  22280.  
  22281. #define IDvdInfo_QueryInterface(This,riid,ppvObject)    \
  22282.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  22283.  
  22284. #define IDvdInfo_AddRef(This)    \
  22285.     (This)->lpVtbl -> AddRef(This)
  22286.  
  22287. #define IDvdInfo_Release(This)    \
  22288.     (This)->lpVtbl -> Release(This)
  22289.  
  22290.  
  22291. #define IDvdInfo_GetCurrentDomain(This,pDomain)    \
  22292.     (This)->lpVtbl -> GetCurrentDomain(This,pDomain)
  22293.  
  22294. #define IDvdInfo_GetCurrentLocation(This,pLocation)    \
  22295.     (This)->lpVtbl -> GetCurrentLocation(This,pLocation)
  22296.  
  22297. #define IDvdInfo_GetTotalTitleTime(This,pulTotalTime)    \
  22298.     (This)->lpVtbl -> GetTotalTitleTime(This,pulTotalTime)
  22299.  
  22300. #define IDvdInfo_GetCurrentButton(This,pulButtonsAvailable,pulCurrentButton)    \
  22301.     (This)->lpVtbl -> GetCurrentButton(This,pulButtonsAvailable,pulCurrentButton)
  22302.  
  22303. #define IDvdInfo_GetCurrentAngle(This,pulAnglesAvailable,pulCurrentAngle)    \
  22304.     (This)->lpVtbl -> GetCurrentAngle(This,pulAnglesAvailable,pulCurrentAngle)
  22305.  
  22306. #define IDvdInfo_GetCurrentAudio(This,pulStreamsAvailable,pulCurrentStream)    \
  22307.     (This)->lpVtbl -> GetCurrentAudio(This,pulStreamsAvailable,pulCurrentStream)
  22308.  
  22309. #define IDvdInfo_GetCurrentSubpicture(This,pulStreamsAvailable,pulCurrentStream,pIsDisabled)    \
  22310.     (This)->lpVtbl -> GetCurrentSubpicture(This,pulStreamsAvailable,pulCurrentStream,pIsDisabled)
  22311.  
  22312. #define IDvdInfo_GetCurrentUOPS(This,pUOP)    \
  22313.     (This)->lpVtbl -> GetCurrentUOPS(This,pUOP)
  22314.  
  22315. #define IDvdInfo_GetAllSPRMs(This,pRegisterArray)    \
  22316.     (This)->lpVtbl -> GetAllSPRMs(This,pRegisterArray)
  22317.  
  22318. #define IDvdInfo_GetAllGPRMs(This,pRegisterArray)    \
  22319.     (This)->lpVtbl -> GetAllGPRMs(This,pRegisterArray)
  22320.  
  22321. #define IDvdInfo_GetAudioLanguage(This,ulStream,pLanguage)    \
  22322.     (This)->lpVtbl -> GetAudioLanguage(This,ulStream,pLanguage)
  22323.  
  22324. #define IDvdInfo_GetSubpictureLanguage(This,ulStream,pLanguage)    \
  22325.     (This)->lpVtbl -> GetSubpictureLanguage(This,ulStream,pLanguage)
  22326.  
  22327. #define IDvdInfo_GetTitleAttributes(This,ulTitle,pATR)    \
  22328.     (This)->lpVtbl -> GetTitleAttributes(This,ulTitle,pATR)
  22329.  
  22330. #define IDvdInfo_GetVMGAttributes(This,pATR)    \
  22331.     (This)->lpVtbl -> GetVMGAttributes(This,pATR)
  22332.  
  22333. #define IDvdInfo_GetCurrentVideoAttributes(This,pATR)    \
  22334.     (This)->lpVtbl -> GetCurrentVideoAttributes(This,pATR)
  22335.  
  22336. #define IDvdInfo_GetCurrentAudioAttributes(This,pATR)    \
  22337.     (This)->lpVtbl -> GetCurrentAudioAttributes(This,pATR)
  22338.  
  22339. #define IDvdInfo_GetCurrentSubpictureAttributes(This,pATR)    \
  22340.     (This)->lpVtbl -> GetCurrentSubpictureAttributes(This,pATR)
  22341.  
  22342. #define IDvdInfo_GetCurrentVolumeInfo(This,pulNumOfVol,pulThisVolNum,pSide,pulNumOfTitles)    \
  22343.     (This)->lpVtbl -> GetCurrentVolumeInfo(This,pulNumOfVol,pulThisVolNum,pSide,pulNumOfTitles)
  22344.  
  22345. #define IDvdInfo_GetDVDTextInfo(This,pTextManager,ulBufSize,pulActualSize)    \
  22346.     (This)->lpVtbl -> GetDVDTextInfo(This,pTextManager,ulBufSize,pulActualSize)
  22347.  
  22348. #define IDvdInfo_GetPlayerParentalLevel(This,pulParentalLevel,pulCountryCode)    \
  22349.     (This)->lpVtbl -> GetPlayerParentalLevel(This,pulParentalLevel,pulCountryCode)
  22350.  
  22351. #define IDvdInfo_GetNumberOfChapters(This,ulTitle,pulNumberOfChapters)    \
  22352.     (This)->lpVtbl -> GetNumberOfChapters(This,ulTitle,pulNumberOfChapters)
  22353.  
  22354. #define IDvdInfo_GetTitleParentalLevels(This,ulTitle,pulParentalLevels)    \
  22355.     (This)->lpVtbl -> GetTitleParentalLevels(This,ulTitle,pulParentalLevels)
  22356.  
  22357. #define IDvdInfo_GetRoot(This,pRoot,ulBufSize,pulActualSize)    \
  22358.     (This)->lpVtbl -> GetRoot(This,pRoot,ulBufSize,pulActualSize)
  22359.  
  22360. #endif /* COBJMACROS */
  22361.  
  22362.  
  22363. #endif     /* C style interface */
  22364.  
  22365.  
  22366.  
  22367. HRESULT STDMETHODCALLTYPE IDvdInfo_GetCurrentDomain_Proxy( 
  22368.     IDvdInfo * This,
  22369.     /* [out] */ DVD_DOMAIN *pDomain);
  22370.  
  22371.  
  22372. void __RPC_STUB IDvdInfo_GetCurrentDomain_Stub(
  22373.     IRpcStubBuffer *This,
  22374.     IRpcChannelBuffer *_pRpcChannelBuffer,
  22375.     PRPC_MESSAGE _pRpcMessage,
  22376.     DWORD *_pdwStubPhase);
  22377.  
  22378.  
  22379. HRESULT STDMETHODCALLTYPE IDvdInfo_GetCurrentLocation_Proxy( 
  22380.     IDvdInfo * This,
  22381.     /* [out] */ DVD_PLAYBACK_LOCATION *pLocation);
  22382.  
  22383.  
  22384. void __RPC_STUB IDvdInfo_GetCurrentLocation_Stub(
  22385.     IRpcStubBuffer *This,
  22386.     IRpcChannelBuffer *_pRpcChannelBuffer,
  22387.     PRPC_MESSAGE _pRpcMessage,
  22388.     DWORD *_pdwStubPhase);
  22389.  
  22390.  
  22391. HRESULT STDMETHODCALLTYPE IDvdInfo_GetTotalTitleTime_Proxy( 
  22392.     IDvdInfo * This,
  22393.     /* [out] */ ULONG *pulTotalTime);
  22394.  
  22395.  
  22396. void __RPC_STUB IDvdInfo_GetTotalTitleTime_Stub(
  22397.     IRpcStubBuffer *This,
  22398.     IRpcChannelBuffer *_pRpcChannelBuffer,
  22399.     PRPC_MESSAGE _pRpcMessage,
  22400.     DWORD *_pdwStubPhase);
  22401.  
  22402.  
  22403. HRESULT STDMETHODCALLTYPE IDvdInfo_GetCurrentButton_Proxy( 
  22404.     IDvdInfo * This,
  22405.     /* [out] */ ULONG *pulButtonsAvailable,
  22406.     /* [out] */ ULONG *pulCurrentButton);
  22407.  
  22408.  
  22409. void __RPC_STUB IDvdInfo_GetCurrentButton_Stub(
  22410.     IRpcStubBuffer *This,
  22411.     IRpcChannelBuffer *_pRpcChannelBuffer,
  22412.     PRPC_MESSAGE _pRpcMessage,
  22413.     DWORD *_pdwStubPhase);
  22414.  
  22415.  
  22416. HRESULT STDMETHODCALLTYPE IDvdInfo_GetCurrentAngle_Proxy( 
  22417.     IDvdInfo * This,
  22418.     /* [out] */ ULONG *pulAnglesAvailable,
  22419.     /* [out] */ ULONG *pulCurrentAngle);
  22420.  
  22421.  
  22422. void __RPC_STUB IDvdInfo_GetCurrentAngle_Stub(
  22423.     IRpcStubBuffer *This,
  22424.     IRpcChannelBuffer *_pRpcChannelBuffer,
  22425.     PRPC_MESSAGE _pRpcMessage,
  22426.     DWORD *_pdwStubPhase);
  22427.  
  22428.  
  22429. HRESULT STDMETHODCALLTYPE IDvdInfo_GetCurrentAudio_Proxy( 
  22430.     IDvdInfo * This,
  22431.     /* [out] */ ULONG *pulStreamsAvailable,
  22432.     /* [out] */ ULONG *pulCurrentStream);
  22433.  
  22434.  
  22435. void __RPC_STUB IDvdInfo_GetCurrentAudio_Stub(
  22436.     IRpcStubBuffer *This,
  22437.     IRpcChannelBuffer *_pRpcChannelBuffer,
  22438.     PRPC_MESSAGE _pRpcMessage,
  22439.     DWORD *_pdwStubPhase);
  22440.  
  22441.  
  22442. HRESULT STDMETHODCALLTYPE IDvdInfo_GetCurrentSubpicture_Proxy( 
  22443.     IDvdInfo * This,
  22444.     /* [out] */ ULONG *pulStreamsAvailable,
  22445.     /* [out] */ ULONG *pulCurrentStream,
  22446.     /* [out] */ BOOL *pIsDisabled);
  22447.  
  22448.  
  22449. void __RPC_STUB IDvdInfo_GetCurrentSubpicture_Stub(
  22450.     IRpcStubBuffer *This,
  22451.     IRpcChannelBuffer *_pRpcChannelBuffer,
  22452.     PRPC_MESSAGE _pRpcMessage,
  22453.     DWORD *_pdwStubPhase);
  22454.  
  22455.  
  22456. HRESULT STDMETHODCALLTYPE IDvdInfo_GetCurrentUOPS_Proxy( 
  22457.     IDvdInfo * This,
  22458.     /* [out] */ VALID_UOP_SOMTHING_OR_OTHER *pUOP);
  22459.  
  22460.  
  22461. void __RPC_STUB IDvdInfo_GetCurrentUOPS_Stub(
  22462.     IRpcStubBuffer *This,
  22463.     IRpcChannelBuffer *_pRpcChannelBuffer,
  22464.     PRPC_MESSAGE _pRpcMessage,
  22465.     DWORD *_pdwStubPhase);
  22466.  
  22467.  
  22468. HRESULT STDMETHODCALLTYPE IDvdInfo_GetAllSPRMs_Proxy( 
  22469.     IDvdInfo * This,
  22470.     /* [out] */ SPRMARRAY *pRegisterArray);
  22471.  
  22472.  
  22473. void __RPC_STUB IDvdInfo_GetAllSPRMs_Stub(
  22474.     IRpcStubBuffer *This,
  22475.     IRpcChannelBuffer *_pRpcChannelBuffer,
  22476.     PRPC_MESSAGE _pRpcMessage,
  22477.     DWORD *_pdwStubPhase);
  22478.  
  22479.  
  22480. HRESULT STDMETHODCALLTYPE IDvdInfo_GetAllGPRMs_Proxy( 
  22481.     IDvdInfo * This,
  22482.     /* [out] */ GPRMARRAY *pRegisterArray);
  22483.  
  22484.  
  22485. void __RPC_STUB IDvdInfo_GetAllGPRMs_Stub(
  22486.     IRpcStubBuffer *This,
  22487.     IRpcChannelBuffer *_pRpcChannelBuffer,
  22488.     PRPC_MESSAGE _pRpcMessage,
  22489.     DWORD *_pdwStubPhase);
  22490.  
  22491.  
  22492. HRESULT STDMETHODCALLTYPE IDvdInfo_GetAudioLanguage_Proxy( 
  22493.     IDvdInfo * This,
  22494.     /* [in] */ ULONG ulStream,
  22495.     /* [out] */ LCID *pLanguage);
  22496.  
  22497.  
  22498. void __RPC_STUB IDvdInfo_GetAudioLanguage_Stub(
  22499.     IRpcStubBuffer *This,
  22500.     IRpcChannelBuffer *_pRpcChannelBuffer,
  22501.     PRPC_MESSAGE _pRpcMessage,
  22502.     DWORD *_pdwStubPhase);
  22503.  
  22504.  
  22505. HRESULT STDMETHODCALLTYPE IDvdInfo_GetSubpictureLanguage_Proxy( 
  22506.     IDvdInfo * This,
  22507.     /* [in] */ ULONG ulStream,
  22508.     /* [out] */ LCID *pLanguage);
  22509.  
  22510.  
  22511. void __RPC_STUB IDvdInfo_GetSubpictureLanguage_Stub(
  22512.     IRpcStubBuffer *This,
  22513.     IRpcChannelBuffer *_pRpcChannelBuffer,
  22514.     PRPC_MESSAGE _pRpcMessage,
  22515.     DWORD *_pdwStubPhase);
  22516.  
  22517.  
  22518. HRESULT STDMETHODCALLTYPE IDvdInfo_GetTitleAttributes_Proxy( 
  22519.     IDvdInfo * This,
  22520.     /* [in] */ ULONG ulTitle,
  22521.     /* [out] */ DVD_ATR *pATR);
  22522.  
  22523.  
  22524. void __RPC_STUB IDvdInfo_GetTitleAttributes_Stub(
  22525.     IRpcStubBuffer *This,
  22526.     IRpcChannelBuffer *_pRpcChannelBuffer,
  22527.     PRPC_MESSAGE _pRpcMessage,
  22528.     DWORD *_pdwStubPhase);
  22529.  
  22530.  
  22531. HRESULT STDMETHODCALLTYPE IDvdInfo_GetVMGAttributes_Proxy( 
  22532.     IDvdInfo * This,
  22533.     /* [out] */ DVD_ATR *pATR);
  22534.  
  22535.  
  22536. void __RPC_STUB IDvdInfo_GetVMGAttributes_Stub(
  22537.     IRpcStubBuffer *This,
  22538.     IRpcChannelBuffer *_pRpcChannelBuffer,
  22539.     PRPC_MESSAGE _pRpcMessage,
  22540.     DWORD *_pdwStubPhase);
  22541.  
  22542.  
  22543. HRESULT STDMETHODCALLTYPE IDvdInfo_GetCurrentVideoAttributes_Proxy( 
  22544.     IDvdInfo * This,
  22545.     /* [out] */ DVD_VideoATR *pATR);
  22546.  
  22547.  
  22548. void __RPC_STUB IDvdInfo_GetCurrentVideoAttributes_Stub(
  22549.     IRpcStubBuffer *This,
  22550.     IRpcChannelBuffer *_pRpcChannelBuffer,
  22551.     PRPC_MESSAGE _pRpcMessage,
  22552.     DWORD *_pdwStubPhase);
  22553.  
  22554.  
  22555. HRESULT STDMETHODCALLTYPE IDvdInfo_GetCurrentAudioAttributes_Proxy( 
  22556.     IDvdInfo * This,
  22557.     /* [out] */ DVD_AudioATR *pATR);
  22558.  
  22559.  
  22560. void __RPC_STUB IDvdInfo_GetCurrentAudioAttributes_Stub(
  22561.     IRpcStubBuffer *This,
  22562.     IRpcChannelBuffer *_pRpcChannelBuffer,
  22563.     PRPC_MESSAGE _pRpcMessage,
  22564.     DWORD *_pdwStubPhase);
  22565.  
  22566.  
  22567. HRESULT STDMETHODCALLTYPE IDvdInfo_GetCurrentSubpictureAttributes_Proxy( 
  22568.     IDvdInfo * This,
  22569.     /* [out] */ DVD_SubpictureATR *pATR);
  22570.  
  22571.  
  22572. void __RPC_STUB IDvdInfo_GetCurrentSubpictureAttributes_Stub(
  22573.     IRpcStubBuffer *This,
  22574.     IRpcChannelBuffer *_pRpcChannelBuffer,
  22575.     PRPC_MESSAGE _pRpcMessage,
  22576.     DWORD *_pdwStubPhase);
  22577.  
  22578.  
  22579. HRESULT STDMETHODCALLTYPE IDvdInfo_GetCurrentVolumeInfo_Proxy( 
  22580.     IDvdInfo * This,
  22581.     /* [out] */ ULONG *pulNumOfVol,
  22582.     /* [out] */ ULONG *pulThisVolNum,
  22583.     /* [out] */ DVD_DISC_SIDE *pSide,
  22584.     /* [out] */ ULONG *pulNumOfTitles);
  22585.  
  22586.  
  22587. void __RPC_STUB IDvdInfo_GetCurrentVolumeInfo_Stub(
  22588.     IRpcStubBuffer *This,
  22589.     IRpcChannelBuffer *_pRpcChannelBuffer,
  22590.     PRPC_MESSAGE _pRpcMessage,
  22591.     DWORD *_pdwStubPhase);
  22592.  
  22593.  
  22594. HRESULT STDMETHODCALLTYPE IDvdInfo_GetDVDTextInfo_Proxy( 
  22595.     IDvdInfo * This,
  22596.     /* [size_is][out] */ BYTE *pTextManager,
  22597.     /* [in] */ ULONG ulBufSize,
  22598.     /* [out] */ ULONG *pulActualSize);
  22599.  
  22600.  
  22601. void __RPC_STUB IDvdInfo_GetDVDTextInfo_Stub(
  22602.     IRpcStubBuffer *This,
  22603.     IRpcChannelBuffer *_pRpcChannelBuffer,
  22604.     PRPC_MESSAGE _pRpcMessage,
  22605.     DWORD *_pdwStubPhase);
  22606.  
  22607.  
  22608. HRESULT STDMETHODCALLTYPE IDvdInfo_GetPlayerParentalLevel_Proxy( 
  22609.     IDvdInfo * This,
  22610.     /* [out] */ ULONG *pulParentalLevel,
  22611.     /* [out] */ ULONG *pulCountryCode);
  22612.  
  22613.  
  22614. void __RPC_STUB IDvdInfo_GetPlayerParentalLevel_Stub(
  22615.     IRpcStubBuffer *This,
  22616.     IRpcChannelBuffer *_pRpcChannelBuffer,
  22617.     PRPC_MESSAGE _pRpcMessage,
  22618.     DWORD *_pdwStubPhase);
  22619.  
  22620.  
  22621. HRESULT STDMETHODCALLTYPE IDvdInfo_GetNumberOfChapters_Proxy( 
  22622.     IDvdInfo * This,
  22623.     /* [in] */ ULONG ulTitle,
  22624.     /* [out] */ ULONG *pulNumberOfChapters);
  22625.  
  22626.  
  22627. void __RPC_STUB IDvdInfo_GetNumberOfChapters_Stub(
  22628.     IRpcStubBuffer *This,
  22629.     IRpcChannelBuffer *_pRpcChannelBuffer,
  22630.     PRPC_MESSAGE _pRpcMessage,
  22631.     DWORD *_pdwStubPhase);
  22632.  
  22633.  
  22634. HRESULT STDMETHODCALLTYPE IDvdInfo_GetTitleParentalLevels_Proxy( 
  22635.     IDvdInfo * This,
  22636.     /* [in] */ ULONG ulTitle,
  22637.     /* [out] */ ULONG *pulParentalLevels);
  22638.  
  22639.  
  22640. void __RPC_STUB IDvdInfo_GetTitleParentalLevels_Stub(
  22641.     IRpcStubBuffer *This,
  22642.     IRpcChannelBuffer *_pRpcChannelBuffer,
  22643.     PRPC_MESSAGE _pRpcMessage,
  22644.     DWORD *_pdwStubPhase);
  22645.  
  22646.  
  22647. HRESULT STDMETHODCALLTYPE IDvdInfo_GetRoot_Proxy( 
  22648.     IDvdInfo * This,
  22649.     /* [size_is][out] */ LPSTR pRoot,
  22650.     /* [in] */ ULONG ulBufSize,
  22651.     /* [out] */ ULONG *pulActualSize);
  22652.  
  22653.  
  22654. void __RPC_STUB IDvdInfo_GetRoot_Stub(
  22655.     IRpcStubBuffer *This,
  22656.     IRpcChannelBuffer *_pRpcChannelBuffer,
  22657.     PRPC_MESSAGE _pRpcMessage,
  22658.     DWORD *_pdwStubPhase);
  22659.  
  22660.  
  22661.  
  22662. #endif     /* __IDvdInfo_INTERFACE_DEFINED__ */
  22663.  
  22664.  
  22665. #ifndef __IDvdCmd_INTERFACE_DEFINED__
  22666. #define __IDvdCmd_INTERFACE_DEFINED__
  22667.  
  22668. /* interface IDvdCmd */
  22669. /* [unique][uuid][object] */ 
  22670.  
  22671.  
  22672. EXTERN_C const IID IID_IDvdCmd;
  22673.  
  22674. #if defined(__cplusplus) && !defined(CINTERFACE)
  22675.     
  22676.     MIDL_INTERFACE("5a4a97e4-94ee-4a55-9751-74b5643aa27d")
  22677.     IDvdCmd : public IUnknown
  22678.     {
  22679.     public:
  22680.         virtual HRESULT STDMETHODCALLTYPE WaitForStart( void) = 0;
  22681.         
  22682.         virtual HRESULT STDMETHODCALLTYPE WaitForEnd( void) = 0;
  22683.         
  22684.     };
  22685.     
  22686. #else     /* C style interface */
  22687.  
  22688.     typedef struct IDvdCmdVtbl
  22689.     {
  22690.         BEGIN_INTERFACE
  22691.         
  22692.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  22693.             IDvdCmd * This,
  22694.             /* [in] */ REFIID riid,
  22695.             /* [iid_is][out] */ void **ppvObject);
  22696.         
  22697.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  22698.             IDvdCmd * This);
  22699.         
  22700.         ULONG ( STDMETHODCALLTYPE *Release )( 
  22701.             IDvdCmd * This);
  22702.         
  22703.         HRESULT ( STDMETHODCALLTYPE *WaitForStart )( 
  22704.             IDvdCmd * This);
  22705.         
  22706.         HRESULT ( STDMETHODCALLTYPE *WaitForEnd )( 
  22707.             IDvdCmd * This);
  22708.         
  22709.         END_INTERFACE
  22710.     } IDvdCmdVtbl;
  22711.  
  22712.     interface IDvdCmd
  22713.     {
  22714.         CONST_VTBL struct IDvdCmdVtbl *lpVtbl;
  22715.     };
  22716.  
  22717.     
  22718.  
  22719. #ifdef COBJMACROS
  22720.  
  22721.  
  22722. #define IDvdCmd_QueryInterface(This,riid,ppvObject)    \
  22723.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  22724.  
  22725. #define IDvdCmd_AddRef(This)    \
  22726.     (This)->lpVtbl -> AddRef(This)
  22727.  
  22728. #define IDvdCmd_Release(This)    \
  22729.     (This)->lpVtbl -> Release(This)
  22730.  
  22731.  
  22732. #define IDvdCmd_WaitForStart(This)    \
  22733.     (This)->lpVtbl -> WaitForStart(This)
  22734.  
  22735. #define IDvdCmd_WaitForEnd(This)    \
  22736.     (This)->lpVtbl -> WaitForEnd(This)
  22737.  
  22738. #endif /* COBJMACROS */
  22739.  
  22740.  
  22741. #endif     /* C style interface */
  22742.  
  22743.  
  22744.  
  22745. HRESULT STDMETHODCALLTYPE IDvdCmd_WaitForStart_Proxy( 
  22746.     IDvdCmd * This);
  22747.  
  22748.  
  22749. void __RPC_STUB IDvdCmd_WaitForStart_Stub(
  22750.     IRpcStubBuffer *This,
  22751.     IRpcChannelBuffer *_pRpcChannelBuffer,
  22752.     PRPC_MESSAGE _pRpcMessage,
  22753.     DWORD *_pdwStubPhase);
  22754.  
  22755.  
  22756. HRESULT STDMETHODCALLTYPE IDvdCmd_WaitForEnd_Proxy( 
  22757.     IDvdCmd * This);
  22758.  
  22759.  
  22760. void __RPC_STUB IDvdCmd_WaitForEnd_Stub(
  22761.     IRpcStubBuffer *This,
  22762.     IRpcChannelBuffer *_pRpcChannelBuffer,
  22763.     PRPC_MESSAGE _pRpcMessage,
  22764.     DWORD *_pdwStubPhase);
  22765.  
  22766.  
  22767.  
  22768. #endif     /* __IDvdCmd_INTERFACE_DEFINED__ */
  22769.  
  22770.  
  22771. #ifndef __IDvdState_INTERFACE_DEFINED__
  22772. #define __IDvdState_INTERFACE_DEFINED__
  22773.  
  22774. /* interface IDvdState */
  22775. /* [unique][uuid][object] */ 
  22776.  
  22777.  
  22778. EXTERN_C const IID IID_IDvdState;
  22779.  
  22780. #if defined(__cplusplus) && !defined(CINTERFACE)
  22781.     
  22782.     MIDL_INTERFACE("86303d6d-1c4a-4087-ab42-f711167048ef")
  22783.     IDvdState : public IUnknown
  22784.     {
  22785.     public:
  22786.         virtual HRESULT STDMETHODCALLTYPE GetDiscID( 
  22787.             /* [out] */ ULONGLONG *pullUniqueID) = 0;
  22788.         
  22789.         virtual HRESULT STDMETHODCALLTYPE GetParentalLevel( 
  22790.             /* [out] */ ULONG *pulParentalLevel) = 0;
  22791.         
  22792.     };
  22793.     
  22794. #else     /* C style interface */
  22795.  
  22796.     typedef struct IDvdStateVtbl
  22797.     {
  22798.         BEGIN_INTERFACE
  22799.         
  22800.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  22801.             IDvdState * This,
  22802.             /* [in] */ REFIID riid,
  22803.             /* [iid_is][out] */ void **ppvObject);
  22804.         
  22805.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  22806.             IDvdState * This);
  22807.         
  22808.         ULONG ( STDMETHODCALLTYPE *Release )( 
  22809.             IDvdState * This);
  22810.         
  22811.         HRESULT ( STDMETHODCALLTYPE *GetDiscID )( 
  22812.             IDvdState * This,
  22813.             /* [out] */ ULONGLONG *pullUniqueID);
  22814.         
  22815.         HRESULT ( STDMETHODCALLTYPE *GetParentalLevel )( 
  22816.             IDvdState * This,
  22817.             /* [out] */ ULONG *pulParentalLevel);
  22818.         
  22819.         END_INTERFACE
  22820.     } IDvdStateVtbl;
  22821.  
  22822.     interface IDvdState
  22823.     {
  22824.         CONST_VTBL struct IDvdStateVtbl *lpVtbl;
  22825.     };
  22826.  
  22827.     
  22828.  
  22829. #ifdef COBJMACROS
  22830.  
  22831.  
  22832. #define IDvdState_QueryInterface(This,riid,ppvObject)    \
  22833.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  22834.  
  22835. #define IDvdState_AddRef(This)    \
  22836.     (This)->lpVtbl -> AddRef(This)
  22837.  
  22838. #define IDvdState_Release(This)    \
  22839.     (This)->lpVtbl -> Release(This)
  22840.  
  22841.  
  22842. #define IDvdState_GetDiscID(This,pullUniqueID)    \
  22843.     (This)->lpVtbl -> GetDiscID(This,pullUniqueID)
  22844.  
  22845. #define IDvdState_GetParentalLevel(This,pulParentalLevel)    \
  22846.     (This)->lpVtbl -> GetParentalLevel(This,pulParentalLevel)
  22847.  
  22848. #endif /* COBJMACROS */
  22849.  
  22850.  
  22851. #endif     /* C style interface */
  22852.  
  22853.  
  22854.  
  22855. HRESULT STDMETHODCALLTYPE IDvdState_GetDiscID_Proxy( 
  22856.     IDvdState * This,
  22857.     /* [out] */ ULONGLONG *pullUniqueID);
  22858.  
  22859.  
  22860. void __RPC_STUB IDvdState_GetDiscID_Stub(
  22861.     IRpcStubBuffer *This,
  22862.     IRpcChannelBuffer *_pRpcChannelBuffer,
  22863.     PRPC_MESSAGE _pRpcMessage,
  22864.     DWORD *_pdwStubPhase);
  22865.  
  22866.  
  22867. HRESULT STDMETHODCALLTYPE IDvdState_GetParentalLevel_Proxy( 
  22868.     IDvdState * This,
  22869.     /* [out] */ ULONG *pulParentalLevel);
  22870.  
  22871.  
  22872. void __RPC_STUB IDvdState_GetParentalLevel_Stub(
  22873.     IRpcStubBuffer *This,
  22874.     IRpcChannelBuffer *_pRpcChannelBuffer,
  22875.     PRPC_MESSAGE _pRpcMessage,
  22876.     DWORD *_pdwStubPhase);
  22877.  
  22878.  
  22879.  
  22880. #endif     /* __IDvdState_INTERFACE_DEFINED__ */
  22881.  
  22882.  
  22883. #ifndef __IDvdControl2_INTERFACE_DEFINED__
  22884. #define __IDvdControl2_INTERFACE_DEFINED__
  22885.  
  22886. /* interface IDvdControl2 */
  22887. /* [unique][uuid][object] */ 
  22888.  
  22889.  
  22890. EXTERN_C const IID IID_IDvdControl2;
  22891.  
  22892. #if defined(__cplusplus) && !defined(CINTERFACE)
  22893.     
  22894.     MIDL_INTERFACE("33BC7430-EEC0-11D2-8201-00A0C9D74842")
  22895.     IDvdControl2 : public IUnknown
  22896.     {
  22897.     public:
  22898.         virtual HRESULT STDMETHODCALLTYPE PlayTitle( 
  22899.             /* [in] */ ULONG ulTitle,
  22900.             /* [in] */ DWORD dwFlags,
  22901.             /* [out] */ IDvdCmd **ppCmd) = 0;
  22902.         
  22903.         virtual HRESULT STDMETHODCALLTYPE PlayChapterInTitle( 
  22904.             /* [in] */ ULONG ulTitle,
  22905.             /* [in] */ ULONG ulChapter,
  22906.             /* [in] */ DWORD dwFlags,
  22907.             /* [out] */ IDvdCmd **ppCmd) = 0;
  22908.         
  22909.         virtual HRESULT STDMETHODCALLTYPE PlayAtTimeInTitle( 
  22910.             /* [in] */ ULONG ulTitle,
  22911.             /* [in] */ DVD_HMSF_TIMECODE *pStartTime,
  22912.             /* [in] */ DWORD dwFlags,
  22913.             /* [out] */ IDvdCmd **ppCmd) = 0;
  22914.         
  22915.         virtual HRESULT STDMETHODCALLTYPE Stop( void) = 0;
  22916.         
  22917.         virtual HRESULT STDMETHODCALLTYPE ReturnFromSubmenu( 
  22918.             /* [in] */ DWORD dwFlags,
  22919.             /* [out] */ IDvdCmd **ppCmd) = 0;
  22920.         
  22921.         virtual HRESULT STDMETHODCALLTYPE PlayAtTime( 
  22922.             /* [in] */ DVD_HMSF_TIMECODE *pTime,
  22923.             /* [in] */ DWORD dwFlags,
  22924.             /* [out] */ IDvdCmd **ppCmd) = 0;
  22925.         
  22926.         virtual HRESULT STDMETHODCALLTYPE PlayChapter( 
  22927.             /* [in] */ ULONG ulChapter,
  22928.             /* [in] */ DWORD dwFlags,
  22929.             /* [out] */ IDvdCmd **ppCmd) = 0;
  22930.         
  22931.         virtual HRESULT STDMETHODCALLTYPE PlayPrevChapter( 
  22932.             /* [in] */ DWORD dwFlags,
  22933.             /* [out] */ IDvdCmd **ppCmd) = 0;
  22934.         
  22935.         virtual HRESULT STDMETHODCALLTYPE ReplayChapter( 
  22936.             /* [in] */ DWORD dwFlags,
  22937.             /* [out] */ IDvdCmd **ppCmd) = 0;
  22938.         
  22939.         virtual HRESULT STDMETHODCALLTYPE PlayNextChapter( 
  22940.             /* [in] */ DWORD dwFlags,
  22941.             /* [out] */ IDvdCmd **ppCmd) = 0;
  22942.         
  22943.         virtual HRESULT STDMETHODCALLTYPE PlayForwards( 
  22944.             /* [in] */ double dSpeed,
  22945.             /* [in] */ DWORD dwFlags,
  22946.             /* [out] */ IDvdCmd **ppCmd) = 0;
  22947.         
  22948.         virtual HRESULT STDMETHODCALLTYPE PlayBackwards( 
  22949.             /* [in] */ double dSpeed,
  22950.             /* [in] */ DWORD dwFlags,
  22951.             /* [out] */ IDvdCmd **ppCmd) = 0;
  22952.         
  22953.         virtual HRESULT STDMETHODCALLTYPE ShowMenu( 
  22954.             /* [in] */ DVD_MENU_ID MenuID,
  22955.             /* [in] */ DWORD dwFlags,
  22956.             /* [out] */ IDvdCmd **ppCmd) = 0;
  22957.         
  22958.         virtual HRESULT STDMETHODCALLTYPE Resume( 
  22959.             /* [in] */ DWORD dwFlags,
  22960.             /* [out] */ IDvdCmd **ppCmd) = 0;
  22961.         
  22962.         virtual HRESULT STDMETHODCALLTYPE SelectRelativeButton( 
  22963.             DVD_RELATIVE_BUTTON buttonDir) = 0;
  22964.         
  22965.         virtual HRESULT STDMETHODCALLTYPE ActivateButton( void) = 0;
  22966.         
  22967.         virtual HRESULT STDMETHODCALLTYPE SelectButton( 
  22968.             /* [in] */ ULONG ulButton) = 0;
  22969.         
  22970.         virtual HRESULT STDMETHODCALLTYPE SelectAndActivateButton( 
  22971.             /* [in] */ ULONG ulButton) = 0;
  22972.         
  22973.         virtual HRESULT STDMETHODCALLTYPE StillOff( void) = 0;
  22974.         
  22975.         virtual HRESULT STDMETHODCALLTYPE Pause( 
  22976.             /* [in] */ BOOL bState) = 0;
  22977.         
  22978.         virtual HRESULT STDMETHODCALLTYPE SelectAudioStream( 
  22979.             /* [in] */ ULONG ulAudio,
  22980.             /* [in] */ DWORD dwFlags,
  22981.             /* [out] */ IDvdCmd **ppCmd) = 0;
  22982.         
  22983.         virtual HRESULT STDMETHODCALLTYPE SelectSubpictureStream( 
  22984.             /* [in] */ ULONG ulSubPicture,
  22985.             /* [in] */ DWORD dwFlags,
  22986.             /* [out] */ IDvdCmd **ppCmd) = 0;
  22987.         
  22988.         virtual HRESULT STDMETHODCALLTYPE SetSubpictureState( 
  22989.             /* [in] */ BOOL bState,
  22990.             /* [in] */ DWORD dwFlags,
  22991.             /* [out] */ IDvdCmd **ppCmd) = 0;
  22992.         
  22993.         virtual HRESULT STDMETHODCALLTYPE SelectAngle( 
  22994.             /* [in] */ ULONG ulAngle,
  22995.             /* [in] */ DWORD dwFlags,
  22996.             /* [out] */ IDvdCmd **ppCmd) = 0;
  22997.         
  22998.         virtual HRESULT STDMETHODCALLTYPE SelectParentalLevel( 
  22999.             /* [in] */ ULONG ulParentalLevel) = 0;
  23000.         
  23001.         virtual HRESULT STDMETHODCALLTYPE SelectParentalCountry( 
  23002.             /* [in] */ BYTE bCountry[ 2 ]) = 0;
  23003.         
  23004.         virtual HRESULT STDMETHODCALLTYPE SelectKaraokeAudioPresentationMode( 
  23005.             /* [in] */ ULONG ulMode) = 0;
  23006.         
  23007.         virtual HRESULT STDMETHODCALLTYPE SelectVideoModePreference( 
  23008.             /* [in] */ ULONG ulPreferredDisplayMode) = 0;
  23009.         
  23010.         virtual HRESULT STDMETHODCALLTYPE SetDVDDirectory( 
  23011.             /* [in] */ LPCWSTR pszwPath) = 0;
  23012.         
  23013.         virtual HRESULT STDMETHODCALLTYPE ActivateAtPosition( 
  23014.             /* [in] */ POINT point) = 0;
  23015.         
  23016.         virtual HRESULT STDMETHODCALLTYPE SelectAtPosition( 
  23017.             /* [in] */ POINT point) = 0;
  23018.         
  23019.         virtual HRESULT STDMETHODCALLTYPE PlayChaptersAutoStop( 
  23020.             /* [in] */ ULONG ulTitle,
  23021.             /* [in] */ ULONG ulChapter,
  23022.             /* [in] */ ULONG ulChaptersToPlay,
  23023.             /* [in] */ DWORD dwFlags,
  23024.             /* [out] */ IDvdCmd **ppCmd) = 0;
  23025.         
  23026.         virtual HRESULT STDMETHODCALLTYPE AcceptParentalLevelChange( 
  23027.             /* [in] */ BOOL bAccept) = 0;
  23028.         
  23029.         virtual HRESULT STDMETHODCALLTYPE SetOption( 
  23030.             /* [in] */ DVD_OPTION_FLAG flag,
  23031.             /* [in] */ BOOL fState) = 0;
  23032.         
  23033.         virtual HRESULT STDMETHODCALLTYPE SetState( 
  23034.             /* [in] */ IDvdState *pState,
  23035.             /* [in] */ DWORD dwFlags,
  23036.             /* [out] */ IDvdCmd **ppCmd) = 0;
  23037.         
  23038.         virtual HRESULT STDMETHODCALLTYPE PlayPeriodInTitleAutoStop( 
  23039.             /* [in] */ ULONG ulTitle,
  23040.             /* [in] */ DVD_HMSF_TIMECODE *pStartTime,
  23041.             /* [in] */ DVD_HMSF_TIMECODE *pEndTime,
  23042.             /* [in] */ DWORD dwFlags,
  23043.             /* [out] */ IDvdCmd **ppCmd) = 0;
  23044.         
  23045.         virtual HRESULT STDMETHODCALLTYPE SetGPRM( 
  23046.             /* [in] */ ULONG ulIndex,
  23047.             /* [in] */ WORD wValue,
  23048.             /* [in] */ DWORD dwFlags,
  23049.             /* [out] */ IDvdCmd **ppCmd) = 0;
  23050.         
  23051.         virtual HRESULT STDMETHODCALLTYPE SelectDefaultMenuLanguage( 
  23052.             /* [in] */ LCID Language) = 0;
  23053.         
  23054.         virtual HRESULT STDMETHODCALLTYPE SelectDefaultAudioLanguage( 
  23055.             /* [in] */ LCID Language,
  23056.             /* [in] */ DVD_AUDIO_LANG_EXT audioExtension) = 0;
  23057.         
  23058.         virtual HRESULT STDMETHODCALLTYPE SelectDefaultSubpictureLanguage( 
  23059.             /* [in] */ LCID Language,
  23060.             /* [in] */ DVD_SUBPICTURE_LANG_EXT subpictureExtension) = 0;
  23061.         
  23062.     };
  23063.     
  23064. #else     /* C style interface */
  23065.  
  23066.     typedef struct IDvdControl2Vtbl
  23067.     {
  23068.         BEGIN_INTERFACE
  23069.         
  23070.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  23071.             IDvdControl2 * This,
  23072.             /* [in] */ REFIID riid,
  23073.             /* [iid_is][out] */ void **ppvObject);
  23074.         
  23075.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  23076.             IDvdControl2 * This);
  23077.         
  23078.         ULONG ( STDMETHODCALLTYPE *Release )( 
  23079.             IDvdControl2 * This);
  23080.         
  23081.         HRESULT ( STDMETHODCALLTYPE *PlayTitle )( 
  23082.             IDvdControl2 * This,
  23083.             /* [in] */ ULONG ulTitle,
  23084.             /* [in] */ DWORD dwFlags,
  23085.             /* [out] */ IDvdCmd **ppCmd);
  23086.         
  23087.         HRESULT ( STDMETHODCALLTYPE *PlayChapterInTitle )( 
  23088.             IDvdControl2 * This,
  23089.             /* [in] */ ULONG ulTitle,
  23090.             /* [in] */ ULONG ulChapter,
  23091.             /* [in] */ DWORD dwFlags,
  23092.             /* [out] */ IDvdCmd **ppCmd);
  23093.         
  23094.         HRESULT ( STDMETHODCALLTYPE *PlayAtTimeInTitle )( 
  23095.             IDvdControl2 * This,
  23096.             /* [in] */ ULONG ulTitle,
  23097.             /* [in] */ DVD_HMSF_TIMECODE *pStartTime,
  23098.             /* [in] */ DWORD dwFlags,
  23099.             /* [out] */ IDvdCmd **ppCmd);
  23100.         
  23101.         HRESULT ( STDMETHODCALLTYPE *Stop )( 
  23102.             IDvdControl2 * This);
  23103.         
  23104.         HRESULT ( STDMETHODCALLTYPE *ReturnFromSubmenu )( 
  23105.             IDvdControl2 * This,
  23106.             /* [in] */ DWORD dwFlags,
  23107.             /* [out] */ IDvdCmd **ppCmd);
  23108.         
  23109.         HRESULT ( STDMETHODCALLTYPE *PlayAtTime )( 
  23110.             IDvdControl2 * This,
  23111.             /* [in] */ DVD_HMSF_TIMECODE *pTime,
  23112.             /* [in] */ DWORD dwFlags,
  23113.             /* [out] */ IDvdCmd **ppCmd);
  23114.         
  23115.         HRESULT ( STDMETHODCALLTYPE *PlayChapter )( 
  23116.             IDvdControl2 * This,
  23117.             /* [in] */ ULONG ulChapter,
  23118.             /* [in] */ DWORD dwFlags,
  23119.             /* [out] */ IDvdCmd **ppCmd);
  23120.         
  23121.         HRESULT ( STDMETHODCALLTYPE *PlayPrevChapter )( 
  23122.             IDvdControl2 * This,
  23123.             /* [in] */ DWORD dwFlags,
  23124.             /* [out] */ IDvdCmd **ppCmd);
  23125.         
  23126.         HRESULT ( STDMETHODCALLTYPE *ReplayChapter )( 
  23127.             IDvdControl2 * This,
  23128.             /* [in] */ DWORD dwFlags,
  23129.             /* [out] */ IDvdCmd **ppCmd);
  23130.         
  23131.         HRESULT ( STDMETHODCALLTYPE *PlayNextChapter )( 
  23132.             IDvdControl2 * This,
  23133.             /* [in] */ DWORD dwFlags,
  23134.             /* [out] */ IDvdCmd **ppCmd);
  23135.         
  23136.         HRESULT ( STDMETHODCALLTYPE *PlayForwards )( 
  23137.             IDvdControl2 * This,
  23138.             /* [in] */ double dSpeed,
  23139.             /* [in] */ DWORD dwFlags,
  23140.             /* [out] */ IDvdCmd **ppCmd);
  23141.         
  23142.         HRESULT ( STDMETHODCALLTYPE *PlayBackwards )( 
  23143.             IDvdControl2 * This,
  23144.             /* [in] */ double dSpeed,
  23145.             /* [in] */ DWORD dwFlags,
  23146.             /* [out] */ IDvdCmd **ppCmd);
  23147.         
  23148.         HRESULT ( STDMETHODCALLTYPE *ShowMenu )( 
  23149.             IDvdControl2 * This,
  23150.             /* [in] */ DVD_MENU_ID MenuID,
  23151.             /* [in] */ DWORD dwFlags,
  23152.             /* [out] */ IDvdCmd **ppCmd);
  23153.         
  23154.         HRESULT ( STDMETHODCALLTYPE *Resume )( 
  23155.             IDvdControl2 * This,
  23156.             /* [in] */ DWORD dwFlags,
  23157.             /* [out] */ IDvdCmd **ppCmd);
  23158.         
  23159.         HRESULT ( STDMETHODCALLTYPE *SelectRelativeButton )( 
  23160.             IDvdControl2 * This,
  23161.             DVD_RELATIVE_BUTTON buttonDir);
  23162.         
  23163.         HRESULT ( STDMETHODCALLTYPE *ActivateButton )( 
  23164.             IDvdControl2 * This);
  23165.         
  23166.         HRESULT ( STDMETHODCALLTYPE *SelectButton )( 
  23167.             IDvdControl2 * This,
  23168.             /* [in] */ ULONG ulButton);
  23169.         
  23170.         HRESULT ( STDMETHODCALLTYPE *SelectAndActivateButton )( 
  23171.             IDvdControl2 * This,
  23172.             /* [in] */ ULONG ulButton);
  23173.         
  23174.         HRESULT ( STDMETHODCALLTYPE *StillOff )( 
  23175.             IDvdControl2 * This);
  23176.         
  23177.         HRESULT ( STDMETHODCALLTYPE *Pause )( 
  23178.             IDvdControl2 * This,
  23179.             /* [in] */ BOOL bState);
  23180.         
  23181.         HRESULT ( STDMETHODCALLTYPE *SelectAudioStream )( 
  23182.             IDvdControl2 * This,
  23183.             /* [in] */ ULONG ulAudio,
  23184.             /* [in] */ DWORD dwFlags,
  23185.             /* [out] */ IDvdCmd **ppCmd);
  23186.         
  23187.         HRESULT ( STDMETHODCALLTYPE *SelectSubpictureStream )( 
  23188.             IDvdControl2 * This,
  23189.             /* [in] */ ULONG ulSubPicture,
  23190.             /* [in] */ DWORD dwFlags,
  23191.             /* [out] */ IDvdCmd **ppCmd);
  23192.         
  23193.         HRESULT ( STDMETHODCALLTYPE *SetSubpictureState )( 
  23194.             IDvdControl2 * This,
  23195.             /* [in] */ BOOL bState,
  23196.             /* [in] */ DWORD dwFlags,
  23197.             /* [out] */ IDvdCmd **ppCmd);
  23198.         
  23199.         HRESULT ( STDMETHODCALLTYPE *SelectAngle )( 
  23200.             IDvdControl2 * This,
  23201.             /* [in] */ ULONG ulAngle,
  23202.             /* [in] */ DWORD dwFlags,
  23203.             /* [out] */ IDvdCmd **ppCmd);
  23204.         
  23205.         HRESULT ( STDMETHODCALLTYPE *SelectParentalLevel )( 
  23206.             IDvdControl2 * This,
  23207.             /* [in] */ ULONG ulParentalLevel);
  23208.         
  23209.         HRESULT ( STDMETHODCALLTYPE *SelectParentalCountry )( 
  23210.             IDvdControl2 * This,
  23211.             /* [in] */ BYTE bCountry[ 2 ]);
  23212.         
  23213.         HRESULT ( STDMETHODCALLTYPE *SelectKaraokeAudioPresentationMode )( 
  23214.             IDvdControl2 * This,
  23215.             /* [in] */ ULONG ulMode);
  23216.         
  23217.         HRESULT ( STDMETHODCALLTYPE *SelectVideoModePreference )( 
  23218.             IDvdControl2 * This,
  23219.             /* [in] */ ULONG ulPreferredDisplayMode);
  23220.         
  23221.         HRESULT ( STDMETHODCALLTYPE *SetDVDDirectory )( 
  23222.             IDvdControl2 * This,
  23223.             /* [in] */ LPCWSTR pszwPath);
  23224.         
  23225.         HRESULT ( STDMETHODCALLTYPE *ActivateAtPosition )( 
  23226.             IDvdControl2 * This,
  23227.             /* [in] */ POINT point);
  23228.         
  23229.         HRESULT ( STDMETHODCALLTYPE *SelectAtPosition )( 
  23230.             IDvdControl2 * This,
  23231.             /* [in] */ POINT point);
  23232.         
  23233.         HRESULT ( STDMETHODCALLTYPE *PlayChaptersAutoStop )( 
  23234.             IDvdControl2 * This,
  23235.             /* [in] */ ULONG ulTitle,
  23236.             /* [in] */ ULONG ulChapter,
  23237.             /* [in] */ ULONG ulChaptersToPlay,
  23238.             /* [in] */ DWORD dwFlags,
  23239.             /* [out] */ IDvdCmd **ppCmd);
  23240.         
  23241.         HRESULT ( STDMETHODCALLTYPE *AcceptParentalLevelChange )( 
  23242.             IDvdControl2 * This,
  23243.             /* [in] */ BOOL bAccept);
  23244.         
  23245.         HRESULT ( STDMETHODCALLTYPE *SetOption )( 
  23246.             IDvdControl2 * This,
  23247.             /* [in] */ DVD_OPTION_FLAG flag,
  23248.             /* [in] */ BOOL fState);
  23249.         
  23250.         HRESULT ( STDMETHODCALLTYPE *SetState )( 
  23251.             IDvdControl2 * This,
  23252.             /* [in] */ IDvdState *pState,
  23253.             /* [in] */ DWORD dwFlags,
  23254.             /* [out] */ IDvdCmd **ppCmd);
  23255.         
  23256.         HRESULT ( STDMETHODCALLTYPE *PlayPeriodInTitleAutoStop )( 
  23257.             IDvdControl2 * This,
  23258.             /* [in] */ ULONG ulTitle,
  23259.             /* [in] */ DVD_HMSF_TIMECODE *pStartTime,
  23260.             /* [in] */ DVD_HMSF_TIMECODE *pEndTime,
  23261.             /* [in] */ DWORD dwFlags,
  23262.             /* [out] */ IDvdCmd **ppCmd);
  23263.         
  23264.         HRESULT ( STDMETHODCALLTYPE *SetGPRM )( 
  23265.             IDvdControl2 * This,
  23266.             /* [in] */ ULONG ulIndex,
  23267.             /* [in] */ WORD wValue,
  23268.             /* [in] */ DWORD dwFlags,
  23269.             /* [out] */ IDvdCmd **ppCmd);
  23270.         
  23271.         HRESULT ( STDMETHODCALLTYPE *SelectDefaultMenuLanguage )( 
  23272.             IDvdControl2 * This,
  23273.             /* [in] */ LCID Language);
  23274.         
  23275.         HRESULT ( STDMETHODCALLTYPE *SelectDefaultAudioLanguage )( 
  23276.             IDvdControl2 * This,
  23277.             /* [in] */ LCID Language,
  23278.             /* [in] */ DVD_AUDIO_LANG_EXT audioExtension);
  23279.         
  23280.         HRESULT ( STDMETHODCALLTYPE *SelectDefaultSubpictureLanguage )( 
  23281.             IDvdControl2 * This,
  23282.             /* [in] */ LCID Language,
  23283.             /* [in] */ DVD_SUBPICTURE_LANG_EXT subpictureExtension);
  23284.         
  23285.         END_INTERFACE
  23286.     } IDvdControl2Vtbl;
  23287.  
  23288.     interface IDvdControl2
  23289.     {
  23290.         CONST_VTBL struct IDvdControl2Vtbl *lpVtbl;
  23291.     };
  23292.  
  23293.     
  23294.  
  23295. #ifdef COBJMACROS
  23296.  
  23297.  
  23298. #define IDvdControl2_QueryInterface(This,riid,ppvObject)    \
  23299.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  23300.  
  23301. #define IDvdControl2_AddRef(This)    \
  23302.     (This)->lpVtbl -> AddRef(This)
  23303.  
  23304. #define IDvdControl2_Release(This)    \
  23305.     (This)->lpVtbl -> Release(This)
  23306.  
  23307.  
  23308. #define IDvdControl2_PlayTitle(This,ulTitle,dwFlags,ppCmd)    \
  23309.     (This)->lpVtbl -> PlayTitle(This,ulTitle,dwFlags,ppCmd)
  23310.  
  23311. #define IDvdControl2_PlayChapterInTitle(This,ulTitle,ulChapter,dwFlags,ppCmd)    \
  23312.     (This)->lpVtbl -> PlayChapterInTitle(This,ulTitle,ulChapter,dwFlags,ppCmd)
  23313.  
  23314. #define IDvdControl2_PlayAtTimeInTitle(This,ulTitle,pStartTime,dwFlags,ppCmd)    \
  23315.     (This)->lpVtbl -> PlayAtTimeInTitle(This,ulTitle,pStartTime,dwFlags,ppCmd)
  23316.  
  23317. #define IDvdControl2_Stop(This)    \
  23318.     (This)->lpVtbl -> Stop(This)
  23319.  
  23320. #define IDvdControl2_ReturnFromSubmenu(This,dwFlags,ppCmd)    \
  23321.     (This)->lpVtbl -> ReturnFromSubmenu(This,dwFlags,ppCmd)
  23322.  
  23323. #define IDvdControl2_PlayAtTime(This,pTime,dwFlags,ppCmd)    \
  23324.     (This)->lpVtbl -> PlayAtTime(This,pTime,dwFlags,ppCmd)
  23325.  
  23326. #define IDvdControl2_PlayChapter(This,ulChapter,dwFlags,ppCmd)    \
  23327.     (This)->lpVtbl -> PlayChapter(This,ulChapter,dwFlags,ppCmd)
  23328.  
  23329. #define IDvdControl2_PlayPrevChapter(This,dwFlags,ppCmd)    \
  23330.     (This)->lpVtbl -> PlayPrevChapter(This,dwFlags,ppCmd)
  23331.  
  23332. #define IDvdControl2_ReplayChapter(This,dwFlags,ppCmd)    \
  23333.     (This)->lpVtbl -> ReplayChapter(This,dwFlags,ppCmd)
  23334.  
  23335. #define IDvdControl2_PlayNextChapter(This,dwFlags,ppCmd)    \
  23336.     (This)->lpVtbl -> PlayNextChapter(This,dwFlags,ppCmd)
  23337.  
  23338. #define IDvdControl2_PlayForwards(This,dSpeed,dwFlags,ppCmd)    \
  23339.     (This)->lpVtbl -> PlayForwards(This,dSpeed,dwFlags,ppCmd)
  23340.  
  23341. #define IDvdControl2_PlayBackwards(This,dSpeed,dwFlags,ppCmd)    \
  23342.     (This)->lpVtbl -> PlayBackwards(This,dSpeed,dwFlags,ppCmd)
  23343.  
  23344. #define IDvdControl2_ShowMenu(This,MenuID,dwFlags,ppCmd)    \
  23345.     (This)->lpVtbl -> ShowMenu(This,MenuID,dwFlags,ppCmd)
  23346.  
  23347. #define IDvdControl2_Resume(This,dwFlags,ppCmd)    \
  23348.     (This)->lpVtbl -> Resume(This,dwFlags,ppCmd)
  23349.  
  23350. #define IDvdControl2_SelectRelativeButton(This,buttonDir)    \
  23351.     (This)->lpVtbl -> SelectRelativeButton(This,buttonDir)
  23352.  
  23353. #define IDvdControl2_ActivateButton(This)    \
  23354.     (This)->lpVtbl -> ActivateButton(This)
  23355.  
  23356. #define IDvdControl2_SelectButton(This,ulButton)    \
  23357.     (This)->lpVtbl -> SelectButton(This,ulButton)
  23358.  
  23359. #define IDvdControl2_SelectAndActivateButton(This,ulButton)    \
  23360.     (This)->lpVtbl -> SelectAndActivateButton(This,ulButton)
  23361.  
  23362. #define IDvdControl2_StillOff(This)    \
  23363.     (This)->lpVtbl -> StillOff(This)
  23364.  
  23365. #define IDvdControl2_Pause(This,bState)    \
  23366.     (This)->lpVtbl -> Pause(This,bState)
  23367.  
  23368. #define IDvdControl2_SelectAudioStream(This,ulAudio,dwFlags,ppCmd)    \
  23369.     (This)->lpVtbl -> SelectAudioStream(This,ulAudio,dwFlags,ppCmd)
  23370.  
  23371. #define IDvdControl2_SelectSubpictureStream(This,ulSubPicture,dwFlags,ppCmd)    \
  23372.     (This)->lpVtbl -> SelectSubpictureStream(This,ulSubPicture,dwFlags,ppCmd)
  23373.  
  23374. #define IDvdControl2_SetSubpictureState(This,bState,dwFlags,ppCmd)    \
  23375.     (This)->lpVtbl -> SetSubpictureState(This,bState,dwFlags,ppCmd)
  23376.  
  23377. #define IDvdControl2_SelectAngle(This,ulAngle,dwFlags,ppCmd)    \
  23378.     (This)->lpVtbl -> SelectAngle(This,ulAngle,dwFlags,ppCmd)
  23379.  
  23380. #define IDvdControl2_SelectParentalLevel(This,ulParentalLevel)    \
  23381.     (This)->lpVtbl -> SelectParentalLevel(This,ulParentalLevel)
  23382.  
  23383. #define IDvdControl2_SelectParentalCountry(This,bCountry)    \
  23384.     (This)->lpVtbl -> SelectParentalCountry(This,bCountry)
  23385.  
  23386. #define IDvdControl2_SelectKaraokeAudioPresentationMode(This,ulMode)    \
  23387.     (This)->lpVtbl -> SelectKaraokeAudioPresentationMode(This,ulMode)
  23388.  
  23389. #define IDvdControl2_SelectVideoModePreference(This,ulPreferredDisplayMode)    \
  23390.     (This)->lpVtbl -> SelectVideoModePreference(This,ulPreferredDisplayMode)
  23391.  
  23392. #define IDvdControl2_SetDVDDirectory(This,pszwPath)    \
  23393.     (This)->lpVtbl -> SetDVDDirectory(This,pszwPath)
  23394.  
  23395. #define IDvdControl2_ActivateAtPosition(This,point)    \
  23396.     (This)->lpVtbl -> ActivateAtPosition(This,point)
  23397.  
  23398. #define IDvdControl2_SelectAtPosition(This,point)    \
  23399.     (This)->lpVtbl -> SelectAtPosition(This,point)
  23400.  
  23401. #define IDvdControl2_PlayChaptersAutoStop(This,ulTitle,ulChapter,ulChaptersToPlay,dwFlags,ppCmd)    \
  23402.     (This)->lpVtbl -> PlayChaptersAutoStop(This,ulTitle,ulChapter,ulChaptersToPlay,dwFlags,ppCmd)
  23403.  
  23404. #define IDvdControl2_AcceptParentalLevelChange(This,bAccept)    \
  23405.     (This)->lpVtbl -> AcceptParentalLevelChange(This,bAccept)
  23406.  
  23407. #define IDvdControl2_SetOption(This,flag,fState)    \
  23408.     (This)->lpVtbl -> SetOption(This,flag,fState)
  23409.  
  23410. #define IDvdControl2_SetState(This,pState,dwFlags,ppCmd)    \
  23411.     (This)->lpVtbl -> SetState(This,pState,dwFlags,ppCmd)
  23412.  
  23413. #define IDvdControl2_PlayPeriodInTitleAutoStop(This,ulTitle,pStartTime,pEndTime,dwFlags,ppCmd)    \
  23414.     (This)->lpVtbl -> PlayPeriodInTitleAutoStop(This,ulTitle,pStartTime,pEndTime,dwFlags,ppCmd)
  23415.  
  23416. #define IDvdControl2_SetGPRM(This,ulIndex,wValue,dwFlags,ppCmd)    \
  23417.     (This)->lpVtbl -> SetGPRM(This,ulIndex,wValue,dwFlags,ppCmd)
  23418.  
  23419. #define IDvdControl2_SelectDefaultMenuLanguage(This,Language)    \
  23420.     (This)->lpVtbl -> SelectDefaultMenuLanguage(This,Language)
  23421.  
  23422. #define IDvdControl2_SelectDefaultAudioLanguage(This,Language,audioExtension)    \
  23423.     (This)->lpVtbl -> SelectDefaultAudioLanguage(This,Language,audioExtension)
  23424.  
  23425. #define IDvdControl2_SelectDefaultSubpictureLanguage(This,Language,subpictureExtension)    \
  23426.     (This)->lpVtbl -> SelectDefaultSubpictureLanguage(This,Language,subpictureExtension)
  23427.  
  23428. #endif /* COBJMACROS */
  23429.  
  23430.  
  23431. #endif     /* C style interface */
  23432.  
  23433.  
  23434.  
  23435. HRESULT STDMETHODCALLTYPE IDvdControl2_PlayTitle_Proxy( 
  23436.     IDvdControl2 * This,
  23437.     /* [in] */ ULONG ulTitle,
  23438.     /* [in] */ DWORD dwFlags,
  23439.     /* [out] */ IDvdCmd **ppCmd);
  23440.  
  23441.  
  23442. void __RPC_STUB IDvdControl2_PlayTitle_Stub(
  23443.     IRpcStubBuffer *This,
  23444.     IRpcChannelBuffer *_pRpcChannelBuffer,
  23445.     PRPC_MESSAGE _pRpcMessage,
  23446.     DWORD *_pdwStubPhase);
  23447.  
  23448.  
  23449. HRESULT STDMETHODCALLTYPE IDvdControl2_PlayChapterInTitle_Proxy( 
  23450.     IDvdControl2 * This,
  23451.     /* [in] */ ULONG ulTitle,
  23452.     /* [in] */ ULONG ulChapter,
  23453.     /* [in] */ DWORD dwFlags,
  23454.     /* [out] */ IDvdCmd **ppCmd);
  23455.  
  23456.  
  23457. void __RPC_STUB IDvdControl2_PlayChapterInTitle_Stub(
  23458.     IRpcStubBuffer *This,
  23459.     IRpcChannelBuffer *_pRpcChannelBuffer,
  23460.     PRPC_MESSAGE _pRpcMessage,
  23461.     DWORD *_pdwStubPhase);
  23462.  
  23463.  
  23464. HRESULT STDMETHODCALLTYPE IDvdControl2_PlayAtTimeInTitle_Proxy( 
  23465.     IDvdControl2 * This,
  23466.     /* [in] */ ULONG ulTitle,
  23467.     /* [in] */ DVD_HMSF_TIMECODE *pStartTime,
  23468.     /* [in] */ DWORD dwFlags,
  23469.     /* [out] */ IDvdCmd **ppCmd);
  23470.  
  23471.  
  23472. void __RPC_STUB IDvdControl2_PlayAtTimeInTitle_Stub(
  23473.     IRpcStubBuffer *This,
  23474.     IRpcChannelBuffer *_pRpcChannelBuffer,
  23475.     PRPC_MESSAGE _pRpcMessage,
  23476.     DWORD *_pdwStubPhase);
  23477.  
  23478.  
  23479. HRESULT STDMETHODCALLTYPE IDvdControl2_Stop_Proxy( 
  23480.     IDvdControl2 * This);
  23481.  
  23482.  
  23483. void __RPC_STUB IDvdControl2_Stop_Stub(
  23484.     IRpcStubBuffer *This,
  23485.     IRpcChannelBuffer *_pRpcChannelBuffer,
  23486.     PRPC_MESSAGE _pRpcMessage,
  23487.     DWORD *_pdwStubPhase);
  23488.  
  23489.  
  23490. HRESULT STDMETHODCALLTYPE IDvdControl2_ReturnFromSubmenu_Proxy( 
  23491.     IDvdControl2 * This,
  23492.     /* [in] */ DWORD dwFlags,
  23493.     /* [out] */ IDvdCmd **ppCmd);
  23494.  
  23495.  
  23496. void __RPC_STUB IDvdControl2_ReturnFromSubmenu_Stub(
  23497.     IRpcStubBuffer *This,
  23498.     IRpcChannelBuffer *_pRpcChannelBuffer,
  23499.     PRPC_MESSAGE _pRpcMessage,
  23500.     DWORD *_pdwStubPhase);
  23501.  
  23502.  
  23503. HRESULT STDMETHODCALLTYPE IDvdControl2_PlayAtTime_Proxy( 
  23504.     IDvdControl2 * This,
  23505.     /* [in] */ DVD_HMSF_TIMECODE *pTime,
  23506.     /* [in] */ DWORD dwFlags,
  23507.     /* [out] */ IDvdCmd **ppCmd);
  23508.  
  23509.  
  23510. void __RPC_STUB IDvdControl2_PlayAtTime_Stub(
  23511.     IRpcStubBuffer *This,
  23512.     IRpcChannelBuffer *_pRpcChannelBuffer,
  23513.     PRPC_MESSAGE _pRpcMessage,
  23514.     DWORD *_pdwStubPhase);
  23515.  
  23516.  
  23517. HRESULT STDMETHODCALLTYPE IDvdControl2_PlayChapter_Proxy( 
  23518.     IDvdControl2 * This,
  23519.     /* [in] */ ULONG ulChapter,
  23520.     /* [in] */ DWORD dwFlags,
  23521.     /* [out] */ IDvdCmd **ppCmd);
  23522.  
  23523.  
  23524. void __RPC_STUB IDvdControl2_PlayChapter_Stub(
  23525.     IRpcStubBuffer *This,
  23526.     IRpcChannelBuffer *_pRpcChannelBuffer,
  23527.     PRPC_MESSAGE _pRpcMessage,
  23528.     DWORD *_pdwStubPhase);
  23529.  
  23530.  
  23531. HRESULT STDMETHODCALLTYPE IDvdControl2_PlayPrevChapter_Proxy( 
  23532.     IDvdControl2 * This,
  23533.     /* [in] */ DWORD dwFlags,
  23534.     /* [out] */ IDvdCmd **ppCmd);
  23535.  
  23536.  
  23537. void __RPC_STUB IDvdControl2_PlayPrevChapter_Stub(
  23538.     IRpcStubBuffer *This,
  23539.     IRpcChannelBuffer *_pRpcChannelBuffer,
  23540.     PRPC_MESSAGE _pRpcMessage,
  23541.     DWORD *_pdwStubPhase);
  23542.  
  23543.  
  23544. HRESULT STDMETHODCALLTYPE IDvdControl2_ReplayChapter_Proxy( 
  23545.     IDvdControl2 * This,
  23546.     /* [in] */ DWORD dwFlags,
  23547.     /* [out] */ IDvdCmd **ppCmd);
  23548.  
  23549.  
  23550. void __RPC_STUB IDvdControl2_ReplayChapter_Stub(
  23551.     IRpcStubBuffer *This,
  23552.     IRpcChannelBuffer *_pRpcChannelBuffer,
  23553.     PRPC_MESSAGE _pRpcMessage,
  23554.     DWORD *_pdwStubPhase);
  23555.  
  23556.  
  23557. HRESULT STDMETHODCALLTYPE IDvdControl2_PlayNextChapter_Proxy( 
  23558.     IDvdControl2 * This,
  23559.     /* [in] */ DWORD dwFlags,
  23560.     /* [out] */ IDvdCmd **ppCmd);
  23561.  
  23562.  
  23563. void __RPC_STUB IDvdControl2_PlayNextChapter_Stub(
  23564.     IRpcStubBuffer *This,
  23565.     IRpcChannelBuffer *_pRpcChannelBuffer,
  23566.     PRPC_MESSAGE _pRpcMessage,
  23567.     DWORD *_pdwStubPhase);
  23568.  
  23569.  
  23570. HRESULT STDMETHODCALLTYPE IDvdControl2_PlayForwards_Proxy( 
  23571.     IDvdControl2 * This,
  23572.     /* [in] */ double dSpeed,
  23573.     /* [in] */ DWORD dwFlags,
  23574.     /* [out] */ IDvdCmd **ppCmd);
  23575.  
  23576.  
  23577. void __RPC_STUB IDvdControl2_PlayForwards_Stub(
  23578.     IRpcStubBuffer *This,
  23579.     IRpcChannelBuffer *_pRpcChannelBuffer,
  23580.     PRPC_MESSAGE _pRpcMessage,
  23581.     DWORD *_pdwStubPhase);
  23582.  
  23583.  
  23584. HRESULT STDMETHODCALLTYPE IDvdControl2_PlayBackwards_Proxy( 
  23585.     IDvdControl2 * This,
  23586.     /* [in] */ double dSpeed,
  23587.     /* [in] */ DWORD dwFlags,
  23588.     /* [out] */ IDvdCmd **ppCmd);
  23589.  
  23590.  
  23591. void __RPC_STUB IDvdControl2_PlayBackwards_Stub(
  23592.     IRpcStubBuffer *This,
  23593.     IRpcChannelBuffer *_pRpcChannelBuffer,
  23594.     PRPC_MESSAGE _pRpcMessage,
  23595.     DWORD *_pdwStubPhase);
  23596.  
  23597.  
  23598. HRESULT STDMETHODCALLTYPE IDvdControl2_ShowMenu_Proxy( 
  23599.     IDvdControl2 * This,
  23600.     /* [in] */ DVD_MENU_ID MenuID,
  23601.     /* [in] */ DWORD dwFlags,
  23602.     /* [out] */ IDvdCmd **ppCmd);
  23603.  
  23604.  
  23605. void __RPC_STUB IDvdControl2_ShowMenu_Stub(
  23606.     IRpcStubBuffer *This,
  23607.     IRpcChannelBuffer *_pRpcChannelBuffer,
  23608.     PRPC_MESSAGE _pRpcMessage,
  23609.     DWORD *_pdwStubPhase);
  23610.  
  23611.  
  23612. HRESULT STDMETHODCALLTYPE IDvdControl2_Resume_Proxy( 
  23613.     IDvdControl2 * This,
  23614.     /* [in] */ DWORD dwFlags,
  23615.     /* [out] */ IDvdCmd **ppCmd);
  23616.  
  23617.  
  23618. void __RPC_STUB IDvdControl2_Resume_Stub(
  23619.     IRpcStubBuffer *This,
  23620.     IRpcChannelBuffer *_pRpcChannelBuffer,
  23621.     PRPC_MESSAGE _pRpcMessage,
  23622.     DWORD *_pdwStubPhase);
  23623.  
  23624.  
  23625. HRESULT STDMETHODCALLTYPE IDvdControl2_SelectRelativeButton_Proxy( 
  23626.     IDvdControl2 * This,
  23627.     DVD_RELATIVE_BUTTON buttonDir);
  23628.  
  23629.  
  23630. void __RPC_STUB IDvdControl2_SelectRelativeButton_Stub(
  23631.     IRpcStubBuffer *This,
  23632.     IRpcChannelBuffer *_pRpcChannelBuffer,
  23633.     PRPC_MESSAGE _pRpcMessage,
  23634.     DWORD *_pdwStubPhase);
  23635.  
  23636.  
  23637. HRESULT STDMETHODCALLTYPE IDvdControl2_ActivateButton_Proxy( 
  23638.     IDvdControl2 * This);
  23639.  
  23640.  
  23641. void __RPC_STUB IDvdControl2_ActivateButton_Stub(
  23642.     IRpcStubBuffer *This,
  23643.     IRpcChannelBuffer *_pRpcChannelBuffer,
  23644.     PRPC_MESSAGE _pRpcMessage,
  23645.     DWORD *_pdwStubPhase);
  23646.  
  23647.  
  23648. HRESULT STDMETHODCALLTYPE IDvdControl2_SelectButton_Proxy( 
  23649.     IDvdControl2 * This,
  23650.     /* [in] */ ULONG ulButton);
  23651.  
  23652.  
  23653. void __RPC_STUB IDvdControl2_SelectButton_Stub(
  23654.     IRpcStubBuffer *This,
  23655.     IRpcChannelBuffer *_pRpcChannelBuffer,
  23656.     PRPC_MESSAGE _pRpcMessage,
  23657.     DWORD *_pdwStubPhase);
  23658.  
  23659.  
  23660. HRESULT STDMETHODCALLTYPE IDvdControl2_SelectAndActivateButton_Proxy( 
  23661.     IDvdControl2 * This,
  23662.     /* [in] */ ULONG ulButton);
  23663.  
  23664.  
  23665. void __RPC_STUB IDvdControl2_SelectAndActivateButton_Stub(
  23666.     IRpcStubBuffer *This,
  23667.     IRpcChannelBuffer *_pRpcChannelBuffer,
  23668.     PRPC_MESSAGE _pRpcMessage,
  23669.     DWORD *_pdwStubPhase);
  23670.  
  23671.  
  23672. HRESULT STDMETHODCALLTYPE IDvdControl2_StillOff_Proxy( 
  23673.     IDvdControl2 * This);
  23674.  
  23675.  
  23676. void __RPC_STUB IDvdControl2_StillOff_Stub(
  23677.     IRpcStubBuffer *This,
  23678.     IRpcChannelBuffer *_pRpcChannelBuffer,
  23679.     PRPC_MESSAGE _pRpcMessage,
  23680.     DWORD *_pdwStubPhase);
  23681.  
  23682.  
  23683. HRESULT STDMETHODCALLTYPE IDvdControl2_Pause_Proxy( 
  23684.     IDvdControl2 * This,
  23685.     /* [in] */ BOOL bState);
  23686.  
  23687.  
  23688. void __RPC_STUB IDvdControl2_Pause_Stub(
  23689.     IRpcStubBuffer *This,
  23690.     IRpcChannelBuffer *_pRpcChannelBuffer,
  23691.     PRPC_MESSAGE _pRpcMessage,
  23692.     DWORD *_pdwStubPhase);
  23693.  
  23694.  
  23695. HRESULT STDMETHODCALLTYPE IDvdControl2_SelectAudioStream_Proxy( 
  23696.     IDvdControl2 * This,
  23697.     /* [in] */ ULONG ulAudio,
  23698.     /* [in] */ DWORD dwFlags,
  23699.     /* [out] */ IDvdCmd **ppCmd);
  23700.  
  23701.  
  23702. void __RPC_STUB IDvdControl2_SelectAudioStream_Stub(
  23703.     IRpcStubBuffer *This,
  23704.     IRpcChannelBuffer *_pRpcChannelBuffer,
  23705.     PRPC_MESSAGE _pRpcMessage,
  23706.     DWORD *_pdwStubPhase);
  23707.  
  23708.  
  23709. HRESULT STDMETHODCALLTYPE IDvdControl2_SelectSubpictureStream_Proxy( 
  23710.     IDvdControl2 * This,
  23711.     /* [in] */ ULONG ulSubPicture,
  23712.     /* [in] */ DWORD dwFlags,
  23713.     /* [out] */ IDvdCmd **ppCmd);
  23714.  
  23715.  
  23716. void __RPC_STUB IDvdControl2_SelectSubpictureStream_Stub(
  23717.     IRpcStubBuffer *This,
  23718.     IRpcChannelBuffer *_pRpcChannelBuffer,
  23719.     PRPC_MESSAGE _pRpcMessage,
  23720.     DWORD *_pdwStubPhase);
  23721.  
  23722.  
  23723. HRESULT STDMETHODCALLTYPE IDvdControl2_SetSubpictureState_Proxy( 
  23724.     IDvdControl2 * This,
  23725.     /* [in] */ BOOL bState,
  23726.     /* [in] */ DWORD dwFlags,
  23727.     /* [out] */ IDvdCmd **ppCmd);
  23728.  
  23729.  
  23730. void __RPC_STUB IDvdControl2_SetSubpictureState_Stub(
  23731.     IRpcStubBuffer *This,
  23732.     IRpcChannelBuffer *_pRpcChannelBuffer,
  23733.     PRPC_MESSAGE _pRpcMessage,
  23734.     DWORD *_pdwStubPhase);
  23735.  
  23736.  
  23737. HRESULT STDMETHODCALLTYPE IDvdControl2_SelectAngle_Proxy( 
  23738.     IDvdControl2 * This,
  23739.     /* [in] */ ULONG ulAngle,
  23740.     /* [in] */ DWORD dwFlags,
  23741.     /* [out] */ IDvdCmd **ppCmd);
  23742.  
  23743.  
  23744. void __RPC_STUB IDvdControl2_SelectAngle_Stub(
  23745.     IRpcStubBuffer *This,
  23746.     IRpcChannelBuffer *_pRpcChannelBuffer,
  23747.     PRPC_MESSAGE _pRpcMessage,
  23748.     DWORD *_pdwStubPhase);
  23749.  
  23750.  
  23751. HRESULT STDMETHODCALLTYPE IDvdControl2_SelectParentalLevel_Proxy( 
  23752.     IDvdControl2 * This,
  23753.     /* [in] */ ULONG ulParentalLevel);
  23754.  
  23755.  
  23756. void __RPC_STUB IDvdControl2_SelectParentalLevel_Stub(
  23757.     IRpcStubBuffer *This,
  23758.     IRpcChannelBuffer *_pRpcChannelBuffer,
  23759.     PRPC_MESSAGE _pRpcMessage,
  23760.     DWORD *_pdwStubPhase);
  23761.  
  23762.  
  23763. HRESULT STDMETHODCALLTYPE IDvdControl2_SelectParentalCountry_Proxy( 
  23764.     IDvdControl2 * This,
  23765.     /* [in] */ BYTE bCountry[ 2 ]);
  23766.  
  23767.  
  23768. void __RPC_STUB IDvdControl2_SelectParentalCountry_Stub(
  23769.     IRpcStubBuffer *This,
  23770.     IRpcChannelBuffer *_pRpcChannelBuffer,
  23771.     PRPC_MESSAGE _pRpcMessage,
  23772.     DWORD *_pdwStubPhase);
  23773.  
  23774.  
  23775. HRESULT STDMETHODCALLTYPE IDvdControl2_SelectKaraokeAudioPresentationMode_Proxy( 
  23776.     IDvdControl2 * This,
  23777.     /* [in] */ ULONG ulMode);
  23778.  
  23779.  
  23780. void __RPC_STUB IDvdControl2_SelectKaraokeAudioPresentationMode_Stub(
  23781.     IRpcStubBuffer *This,
  23782.     IRpcChannelBuffer *_pRpcChannelBuffer,
  23783.     PRPC_MESSAGE _pRpcMessage,
  23784.     DWORD *_pdwStubPhase);
  23785.  
  23786.  
  23787. HRESULT STDMETHODCALLTYPE IDvdControl2_SelectVideoModePreference_Proxy( 
  23788.     IDvdControl2 * This,
  23789.     /* [in] */ ULONG ulPreferredDisplayMode);
  23790.  
  23791.  
  23792. void __RPC_STUB IDvdControl2_SelectVideoModePreference_Stub(
  23793.     IRpcStubBuffer *This,
  23794.     IRpcChannelBuffer *_pRpcChannelBuffer,
  23795.     PRPC_MESSAGE _pRpcMessage,
  23796.     DWORD *_pdwStubPhase);
  23797.  
  23798.  
  23799. HRESULT STDMETHODCALLTYPE IDvdControl2_SetDVDDirectory_Proxy( 
  23800.     IDvdControl2 * This,
  23801.     /* [in] */ LPCWSTR pszwPath);
  23802.  
  23803.  
  23804. void __RPC_STUB IDvdControl2_SetDVDDirectory_Stub(
  23805.     IRpcStubBuffer *This,
  23806.     IRpcChannelBuffer *_pRpcChannelBuffer,
  23807.     PRPC_MESSAGE _pRpcMessage,
  23808.     DWORD *_pdwStubPhase);
  23809.  
  23810.  
  23811. HRESULT STDMETHODCALLTYPE IDvdControl2_ActivateAtPosition_Proxy( 
  23812.     IDvdControl2 * This,
  23813.     /* [in] */ POINT point);
  23814.  
  23815.  
  23816. void __RPC_STUB IDvdControl2_ActivateAtPosition_Stub(
  23817.     IRpcStubBuffer *This,
  23818.     IRpcChannelBuffer *_pRpcChannelBuffer,
  23819.     PRPC_MESSAGE _pRpcMessage,
  23820.     DWORD *_pdwStubPhase);
  23821.  
  23822.  
  23823. HRESULT STDMETHODCALLTYPE IDvdControl2_SelectAtPosition_Proxy( 
  23824.     IDvdControl2 * This,
  23825.     /* [in] */ POINT point);
  23826.  
  23827.  
  23828. void __RPC_STUB IDvdControl2_SelectAtPosition_Stub(
  23829.     IRpcStubBuffer *This,
  23830.     IRpcChannelBuffer *_pRpcChannelBuffer,
  23831.     PRPC_MESSAGE _pRpcMessage,
  23832.     DWORD *_pdwStubPhase);
  23833.  
  23834.  
  23835. HRESULT STDMETHODCALLTYPE IDvdControl2_PlayChaptersAutoStop_Proxy( 
  23836.     IDvdControl2 * This,
  23837.     /* [in] */ ULONG ulTitle,
  23838.     /* [in] */ ULONG ulChapter,
  23839.     /* [in] */ ULONG ulChaptersToPlay,
  23840.     /* [in] */ DWORD dwFlags,
  23841.     /* [out] */ IDvdCmd **ppCmd);
  23842.  
  23843.  
  23844. void __RPC_STUB IDvdControl2_PlayChaptersAutoStop_Stub(
  23845.     IRpcStubBuffer *This,
  23846.     IRpcChannelBuffer *_pRpcChannelBuffer,
  23847.     PRPC_MESSAGE _pRpcMessage,
  23848.     DWORD *_pdwStubPhase);
  23849.  
  23850.  
  23851. HRESULT STDMETHODCALLTYPE IDvdControl2_AcceptParentalLevelChange_Proxy( 
  23852.     IDvdControl2 * This,
  23853.     /* [in] */ BOOL bAccept);
  23854.  
  23855.  
  23856. void __RPC_STUB IDvdControl2_AcceptParentalLevelChange_Stub(
  23857.     IRpcStubBuffer *This,
  23858.     IRpcChannelBuffer *_pRpcChannelBuffer,
  23859.     PRPC_MESSAGE _pRpcMessage,
  23860.     DWORD *_pdwStubPhase);
  23861.  
  23862.  
  23863. HRESULT STDMETHODCALLTYPE IDvdControl2_SetOption_Proxy( 
  23864.     IDvdControl2 * This,
  23865.     /* [in] */ DVD_OPTION_FLAG flag,
  23866.     /* [in] */ BOOL fState);
  23867.  
  23868.  
  23869. void __RPC_STUB IDvdControl2_SetOption_Stub(
  23870.     IRpcStubBuffer *This,
  23871.     IRpcChannelBuffer *_pRpcChannelBuffer,
  23872.     PRPC_MESSAGE _pRpcMessage,
  23873.     DWORD *_pdwStubPhase);
  23874.  
  23875.  
  23876. HRESULT STDMETHODCALLTYPE IDvdControl2_SetState_Proxy( 
  23877.     IDvdControl2 * This,
  23878.     /* [in] */ IDvdState *pState,
  23879.     /* [in] */ DWORD dwFlags,
  23880.     /* [out] */ IDvdCmd **ppCmd);
  23881.  
  23882.  
  23883. void __RPC_STUB IDvdControl2_SetState_Stub(
  23884.     IRpcStubBuffer *This,
  23885.     IRpcChannelBuffer *_pRpcChannelBuffer,
  23886.     PRPC_MESSAGE _pRpcMessage,
  23887.     DWORD *_pdwStubPhase);
  23888.  
  23889.  
  23890. HRESULT STDMETHODCALLTYPE IDvdControl2_PlayPeriodInTitleAutoStop_Proxy( 
  23891.     IDvdControl2 * This,
  23892.     /* [in] */ ULONG ulTitle,
  23893.     /* [in] */ DVD_HMSF_TIMECODE *pStartTime,
  23894.     /* [in] */ DVD_HMSF_TIMECODE *pEndTime,
  23895.     /* [in] */ DWORD dwFlags,
  23896.     /* [out] */ IDvdCmd **ppCmd);
  23897.  
  23898.  
  23899. void __RPC_STUB IDvdControl2_PlayPeriodInTitleAutoStop_Stub(
  23900.     IRpcStubBuffer *This,
  23901.     IRpcChannelBuffer *_pRpcChannelBuffer,
  23902.     PRPC_MESSAGE _pRpcMessage,
  23903.     DWORD *_pdwStubPhase);
  23904.  
  23905.  
  23906. HRESULT STDMETHODCALLTYPE IDvdControl2_SetGPRM_Proxy( 
  23907.     IDvdControl2 * This,
  23908.     /* [in] */ ULONG ulIndex,
  23909.     /* [in] */ WORD wValue,
  23910.     /* [in] */ DWORD dwFlags,
  23911.     /* [out] */ IDvdCmd **ppCmd);
  23912.  
  23913.  
  23914. void __RPC_STUB IDvdControl2_SetGPRM_Stub(
  23915.     IRpcStubBuffer *This,
  23916.     IRpcChannelBuffer *_pRpcChannelBuffer,
  23917.     PRPC_MESSAGE _pRpcMessage,
  23918.     DWORD *_pdwStubPhase);
  23919.  
  23920.  
  23921. HRESULT STDMETHODCALLTYPE IDvdControl2_SelectDefaultMenuLanguage_Proxy( 
  23922.     IDvdControl2 * This,
  23923.     /* [in] */ LCID Language);
  23924.  
  23925.  
  23926. void __RPC_STUB IDvdControl2_SelectDefaultMenuLanguage_Stub(
  23927.     IRpcStubBuffer *This,
  23928.     IRpcChannelBuffer *_pRpcChannelBuffer,
  23929.     PRPC_MESSAGE _pRpcMessage,
  23930.     DWORD *_pdwStubPhase);
  23931.  
  23932.  
  23933. HRESULT STDMETHODCALLTYPE IDvdControl2_SelectDefaultAudioLanguage_Proxy( 
  23934.     IDvdControl2 * This,
  23935.     /* [in] */ LCID Language,
  23936.     /* [in] */ DVD_AUDIO_LANG_EXT audioExtension);
  23937.  
  23938.  
  23939. void __RPC_STUB IDvdControl2_SelectDefaultAudioLanguage_Stub(
  23940.     IRpcStubBuffer *This,
  23941.     IRpcChannelBuffer *_pRpcChannelBuffer,
  23942.     PRPC_MESSAGE _pRpcMessage,
  23943.     DWORD *_pdwStubPhase);
  23944.  
  23945.  
  23946. HRESULT STDMETHODCALLTYPE IDvdControl2_SelectDefaultSubpictureLanguage_Proxy( 
  23947.     IDvdControl2 * This,
  23948.     /* [in] */ LCID Language,
  23949.     /* [in] */ DVD_SUBPICTURE_LANG_EXT subpictureExtension);
  23950.  
  23951.  
  23952. void __RPC_STUB IDvdControl2_SelectDefaultSubpictureLanguage_Stub(
  23953.     IRpcStubBuffer *This,
  23954.     IRpcChannelBuffer *_pRpcChannelBuffer,
  23955.     PRPC_MESSAGE _pRpcMessage,
  23956.     DWORD *_pdwStubPhase);
  23957.  
  23958.  
  23959.  
  23960. #endif     /* __IDvdControl2_INTERFACE_DEFINED__ */
  23961.  
  23962.  
  23963. /* interface __MIDL_itf_strmif_0362 */
  23964. /* [local] */ 
  23965.  
  23966.  
  23967. enum DVD_TextStringType
  23968.     {    DVD_Struct_Volume    = 0x1,
  23969.     DVD_Struct_Title    = 0x2,
  23970.     DVD_Struct_ParentalID    = 0x3,
  23971.     DVD_Struct_PartOfTitle    = 0x4,
  23972.     DVD_Struct_Cell    = 0x5,
  23973.     DVD_Stream_Audio    = 0x10,
  23974.     DVD_Stream_Subpicture    = 0x11,
  23975.     DVD_Stream_Angle    = 0x12,
  23976.     DVD_Channel_Audio    = 0x20,
  23977.     DVD_General_Name    = 0x30,
  23978.     DVD_General_Comments    = 0x31,
  23979.     DVD_Title_Series    = 0x38,
  23980.     DVD_Title_Movie    = 0x39,
  23981.     DVD_Title_Video    = 0x3a,
  23982.     DVD_Title_Album    = 0x3b,
  23983.     DVD_Title_Song    = 0x3c,
  23984.     DVD_Title_Other    = 0x3f,
  23985.     DVD_Title_Sub_Series    = 0x40,
  23986.     DVD_Title_Sub_Movie    = 0x41,
  23987.     DVD_Title_Sub_Video    = 0x42,
  23988.     DVD_Title_Sub_Album    = 0x43,
  23989.     DVD_Title_Sub_Song    = 0x44,
  23990.     DVD_Title_Sub_Other    = 0x47,
  23991.     DVD_Title_Orig_Series    = 0x48,
  23992.     DVD_Title_Orig_Movie    = 0x49,
  23993.     DVD_Title_Orig_Video    = 0x4a,
  23994.     DVD_Title_Orig_Album    = 0x4b,
  23995.     DVD_Title_Orig_Song    = 0x4c,
  23996.     DVD_Title_Orig_Other    = 0x4f,
  23997.     DVD_Other_Scene    = 0x50,
  23998.     DVD_Other_Cut    = 0x51,
  23999.     DVD_Other_Take    = 0x52
  24000.     } ;
  24001.  
  24002. enum DVD_TextCharSet
  24003.     {    DVD_CharSet_Unicode    = 0,
  24004.     DVD_CharSet_ISO646    = 1,
  24005.     DVD_CharSet_JIS_Roman_Kanji    = 2,
  24006.     DVD_CharSet_ISO8859_1    = 3,
  24007.     DVD_CharSet_ShiftJIS_Kanji_Roman_Katakana    = 4
  24008.     } ;
  24009. #define DVD_TITLE_MENU                0x000
  24010. #define DVD_STREAM_DATA_CURRENT     0x800
  24011. #define DVD_STREAM_DATA_VMGM        0x400
  24012. #define DVD_STREAM_DATA_VTSM        0x401
  24013. #define DVD_DEFAULT_AUDIO_STREAM    0x0f
  24014. typedef struct tagDVD_DECODER_CAPS
  24015.     {
  24016.     DWORD dwSize;
  24017.     DWORD dwAudioCaps;
  24018.     double dFwdMaxRateVideo;
  24019.     double dFwdMaxRateAudio;
  24020.     double dFwdMaxRateSP;
  24021.     double dBwdMaxRateVideo;
  24022.     double dBwdMaxRateAudio;
  24023.     double dBwdMaxRateSP;
  24024.     DWORD dwRes1;
  24025.     DWORD dwRes2;
  24026.     DWORD dwRes3;
  24027.     DWORD dwRes4;
  24028.     }     DVD_DECODER_CAPS;
  24029.  
  24030. #define DVD_AUDIO_CAPS_AC3        0x00000001
  24031. #define DVD_AUDIO_CAPS_MPEG2    0x00000002
  24032. #define DVD_AUDIO_CAPS_LPCM        0x00000004
  24033. #define DVD_AUDIO_CAPS_DTS        0x00000008
  24034. #define DVD_AUDIO_CAPS_SDDS        0x00000010
  24035.  
  24036.  
  24037. extern RPC_IF_HANDLE __MIDL_itf_strmif_0362_v0_0_c_ifspec;
  24038. extern RPC_IF_HANDLE __MIDL_itf_strmif_0362_v0_0_s_ifspec;
  24039.  
  24040. #ifndef __IDvdInfo2_INTERFACE_DEFINED__
  24041. #define __IDvdInfo2_INTERFACE_DEFINED__
  24042.  
  24043. /* interface IDvdInfo2 */
  24044. /* [unique][uuid][object] */ 
  24045.  
  24046.  
  24047. EXTERN_C const IID IID_IDvdInfo2;
  24048.  
  24049. #if defined(__cplusplus) && !defined(CINTERFACE)
  24050.     
  24051.     MIDL_INTERFACE("34151510-EEC0-11D2-8201-00A0C9D74842")
  24052.     IDvdInfo2 : public IUnknown
  24053.     {
  24054.     public:
  24055.         virtual HRESULT STDMETHODCALLTYPE GetCurrentDomain( 
  24056.             /* [out] */ DVD_DOMAIN *pDomain) = 0;
  24057.         
  24058.         virtual HRESULT STDMETHODCALLTYPE GetCurrentLocation( 
  24059.             /* [out] */ DVD_PLAYBACK_LOCATION2 *pLocation) = 0;
  24060.         
  24061.         virtual HRESULT STDMETHODCALLTYPE GetTotalTitleTime( 
  24062.             /* [out] */ DVD_HMSF_TIMECODE *pTotalTime,
  24063.             /* [out] */ ULONG *ulTimeCodeFlags) = 0;
  24064.         
  24065.         virtual HRESULT STDMETHODCALLTYPE GetCurrentButton( 
  24066.             /* [out] */ ULONG *pulButtonsAvailable,
  24067.             /* [out] */ ULONG *pulCurrentButton) = 0;
  24068.         
  24069.         virtual HRESULT STDMETHODCALLTYPE GetCurrentAngle( 
  24070.             /* [out] */ ULONG *pulAnglesAvailable,
  24071.             /* [out] */ ULONG *pulCurrentAngle) = 0;
  24072.         
  24073.         virtual HRESULT STDMETHODCALLTYPE GetCurrentAudio( 
  24074.             /* [out] */ ULONG *pulStreamsAvailable,
  24075.             /* [out] */ ULONG *pulCurrentStream) = 0;
  24076.         
  24077.         virtual HRESULT STDMETHODCALLTYPE GetCurrentSubpicture( 
  24078.             /* [out] */ ULONG *pulStreamsAvailable,
  24079.             /* [out] */ ULONG *pulCurrentStream,
  24080.             /* [out] */ BOOL *pbIsDisabled) = 0;
  24081.         
  24082.         virtual HRESULT STDMETHODCALLTYPE GetCurrentUOPS( 
  24083.             /* [out] */ ULONG *pulUOPs) = 0;
  24084.         
  24085.         virtual HRESULT STDMETHODCALLTYPE GetAllSPRMs( 
  24086.             /* [out] */ SPRMARRAY *pRegisterArray) = 0;
  24087.         
  24088.         virtual HRESULT STDMETHODCALLTYPE GetAllGPRMs( 
  24089.             /* [out] */ GPRMARRAY *pRegisterArray) = 0;
  24090.         
  24091.         virtual HRESULT STDMETHODCALLTYPE GetAudioLanguage( 
  24092.             /* [in] */ ULONG ulStream,
  24093.             /* [out] */ LCID *pLanguage) = 0;
  24094.         
  24095.         virtual HRESULT STDMETHODCALLTYPE GetSubpictureLanguage( 
  24096.             /* [in] */ ULONG ulStream,
  24097.             /* [out] */ LCID *pLanguage) = 0;
  24098.         
  24099.         virtual HRESULT STDMETHODCALLTYPE GetTitleAttributes( 
  24100.             /* [in] */ ULONG ulTitle,
  24101.             /* [out] */ DVD_MenuAttributes *pMenu,
  24102.             /* [out] */ DVD_TitleAttributes *pTitle) = 0;
  24103.         
  24104.         virtual HRESULT STDMETHODCALLTYPE GetVMGAttributes( 
  24105.             /* [out] */ DVD_MenuAttributes *pATR) = 0;
  24106.         
  24107.         virtual HRESULT STDMETHODCALLTYPE GetCurrentVideoAttributes( 
  24108.             /* [out] */ DVD_VideoAttributes *pATR) = 0;
  24109.         
  24110.         virtual HRESULT STDMETHODCALLTYPE GetAudioAttributes( 
  24111.             /* [in] */ ULONG ulStream,
  24112.             /* [out] */ DVD_AudioAttributes *pATR) = 0;
  24113.         
  24114.         virtual HRESULT STDMETHODCALLTYPE GetKaraokeAttributes( 
  24115.             /* [in] */ ULONG ulStream,
  24116.             /* [out] */ DVD_KaraokeAttributes *pAttributes) = 0;
  24117.         
  24118.         virtual HRESULT STDMETHODCALLTYPE GetSubpictureAttributes( 
  24119.             /* [in] */ ULONG ulStream,
  24120.             /* [out] */ DVD_SubpictureAttributes *pATR) = 0;
  24121.         
  24122.         virtual HRESULT STDMETHODCALLTYPE GetDVDVolumeInfo( 
  24123.             /* [out] */ ULONG *pulNumOfVolumes,
  24124.             /* [out] */ ULONG *pulVolume,
  24125.             /* [out] */ DVD_DISC_SIDE *pSide,
  24126.             /* [out] */ ULONG *pulNumOfTitles) = 0;
  24127.         
  24128.         virtual HRESULT STDMETHODCALLTYPE GetDVDTextNumberOfLanguages( 
  24129.             /* [out] */ ULONG *pulNumOfLangs) = 0;
  24130.         
  24131.         virtual HRESULT STDMETHODCALLTYPE GetDVDTextLanguageInfo( 
  24132.             /* [in] */ ULONG ulLangIndex,
  24133.             /* [out] */ ULONG *pulNumOfStrings,
  24134.             /* [out] */ LCID *pLangCode,
  24135.             /* [out] */ enum DVD_TextCharSet *pbCharacterSet) = 0;
  24136.         
  24137.         virtual HRESULT STDMETHODCALLTYPE GetDVDTextStringAsNative( 
  24138.             /* [in] */ ULONG ulLangIndex,
  24139.             /* [in] */ ULONG ulStringIndex,
  24140.             /* [out] */ BYTE *pbBuffer,
  24141.             /* [in] */ ULONG ulMaxBufferSize,
  24142.             /* [out] */ ULONG *pulActualSize,
  24143.             /* [out] */ enum DVD_TextStringType *pType) = 0;
  24144.         
  24145.         virtual HRESULT STDMETHODCALLTYPE GetDVDTextStringAsUnicode( 
  24146.             /* [in] */ ULONG ulLangIndex,
  24147.             /* [in] */ ULONG ulStringIndex,
  24148.             /* [out] */ WCHAR *pchwBuffer,
  24149.             /* [in] */ ULONG ulMaxBufferSize,
  24150.             /* [out] */ ULONG *pulActualSize,
  24151.             /* [out] */ enum DVD_TextStringType *pType) = 0;
  24152.         
  24153.         virtual HRESULT STDMETHODCALLTYPE GetPlayerParentalLevel( 
  24154.             /* [out] */ ULONG *pulParentalLevel,
  24155.             /* [out] */ BYTE pbCountryCode[ 2 ]) = 0;
  24156.         
  24157.         virtual HRESULT STDMETHODCALLTYPE GetNumberOfChapters( 
  24158.             /* [in] */ ULONG ulTitle,
  24159.             /* [out] */ ULONG *pulNumOfChapters) = 0;
  24160.         
  24161.         virtual HRESULT STDMETHODCALLTYPE GetTitleParentalLevels( 
  24162.             /* [in] */ ULONG ulTitle,
  24163.             /* [out] */ ULONG *pulParentalLevels) = 0;
  24164.         
  24165.         virtual HRESULT STDMETHODCALLTYPE GetDVDDirectory( 
  24166.             /* [size_is][out] */ LPWSTR pszwPath,
  24167.             /* [in] */ ULONG ulMaxSize,
  24168.             /* [out] */ ULONG *pulActualSize) = 0;
  24169.         
  24170.         virtual HRESULT STDMETHODCALLTYPE IsAudioStreamEnabled( 
  24171.             /* [in] */ ULONG ulStreamNum,
  24172.             /* [out] */ BOOL *pbEnabled) = 0;
  24173.         
  24174.         virtual HRESULT STDMETHODCALLTYPE GetDiscID( 
  24175.             /* [in] */ LPCWSTR pszwPath,
  24176.             /* [out] */ ULONGLONG *pullDiscID) = 0;
  24177.         
  24178.         virtual HRESULT STDMETHODCALLTYPE GetState( 
  24179.             /* [out] */ IDvdState **pStateData) = 0;
  24180.         
  24181.         virtual HRESULT STDMETHODCALLTYPE GetMenuLanguages( 
  24182.             /* [out] */ LCID *pLanguages,
  24183.             /* [in] */ ULONG ulMaxLanguages,
  24184.             /* [out] */ ULONG *pulActualLanguages) = 0;
  24185.         
  24186.         virtual HRESULT STDMETHODCALLTYPE GetButtonAtPosition( 
  24187.             /* [in] */ POINT point,
  24188.             /* [out] */ ULONG *pulButtonIndex) = 0;
  24189.         
  24190.         virtual HRESULT STDMETHODCALLTYPE GetCmdFromEvent( 
  24191.             /* [in] */ LONG_PTR lParam1,
  24192.             /* [out] */ IDvdCmd **pCmdObj) = 0;
  24193.         
  24194.         virtual HRESULT STDMETHODCALLTYPE GetDefaultMenuLanguage( 
  24195.             /* [out] */ LCID *pLanguage) = 0;
  24196.         
  24197.         virtual HRESULT STDMETHODCALLTYPE GetDefaultAudioLanguage( 
  24198.             /* [out] */ LCID *pLanguage,
  24199.             /* [out] */ DVD_AUDIO_LANG_EXT *pAudioExtension) = 0;
  24200.         
  24201.         virtual HRESULT STDMETHODCALLTYPE GetDefaultSubpictureLanguage( 
  24202.             /* [out] */ LCID *pLanguage,
  24203.             /* [out] */ DVD_SUBPICTURE_LANG_EXT *pSubpictureExtension) = 0;
  24204.         
  24205.         virtual HRESULT STDMETHODCALLTYPE GetDecoderCaps( 
  24206.             /* [out] */ DVD_DECODER_CAPS *pCaps) = 0;
  24207.         
  24208.         virtual HRESULT STDMETHODCALLTYPE GetButtonRect( 
  24209.             /* [in] */ ULONG ulButton,
  24210.             /* [out] */ RECT *pRect) = 0;
  24211.         
  24212.         virtual HRESULT STDMETHODCALLTYPE IsSubpictureStreamEnabled( 
  24213.             /* [in] */ ULONG ulStreamNum,
  24214.             /* [out] */ BOOL *pbEnabled) = 0;
  24215.         
  24216.     };
  24217.     
  24218. #else     /* C style interface */
  24219.  
  24220.     typedef struct IDvdInfo2Vtbl
  24221.     {
  24222.         BEGIN_INTERFACE
  24223.         
  24224.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  24225.             IDvdInfo2 * This,
  24226.             /* [in] */ REFIID riid,
  24227.             /* [iid_is][out] */ void **ppvObject);
  24228.         
  24229.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  24230.             IDvdInfo2 * This);
  24231.         
  24232.         ULONG ( STDMETHODCALLTYPE *Release )( 
  24233.             IDvdInfo2 * This);
  24234.         
  24235.         HRESULT ( STDMETHODCALLTYPE *GetCurrentDomain )( 
  24236.             IDvdInfo2 * This,
  24237.             /* [out] */ DVD_DOMAIN *pDomain);
  24238.         
  24239.         HRESULT ( STDMETHODCALLTYPE *GetCurrentLocation )( 
  24240.             IDvdInfo2 * This,
  24241.             /* [out] */ DVD_PLAYBACK_LOCATION2 *pLocation);
  24242.         
  24243.         HRESULT ( STDMETHODCALLTYPE *GetTotalTitleTime )( 
  24244.             IDvdInfo2 * This,
  24245.             /* [out] */ DVD_HMSF_TIMECODE *pTotalTime,
  24246.             /* [out] */ ULONG *ulTimeCodeFlags);
  24247.         
  24248.         HRESULT ( STDMETHODCALLTYPE *GetCurrentButton )( 
  24249.             IDvdInfo2 * This,
  24250.             /* [out] */ ULONG *pulButtonsAvailable,
  24251.             /* [out] */ ULONG *pulCurrentButton);
  24252.         
  24253.         HRESULT ( STDMETHODCALLTYPE *GetCurrentAngle )( 
  24254.             IDvdInfo2 * This,
  24255.             /* [out] */ ULONG *pulAnglesAvailable,
  24256.             /* [out] */ ULONG *pulCurrentAngle);
  24257.         
  24258.         HRESULT ( STDMETHODCALLTYPE *GetCurrentAudio )( 
  24259.             IDvdInfo2 * This,
  24260.             /* [out] */ ULONG *pulStreamsAvailable,
  24261.             /* [out] */ ULONG *pulCurrentStream);
  24262.         
  24263.         HRESULT ( STDMETHODCALLTYPE *GetCurrentSubpicture )( 
  24264.             IDvdInfo2 * This,
  24265.             /* [out] */ ULONG *pulStreamsAvailable,
  24266.             /* [out] */ ULONG *pulCurrentStream,
  24267.             /* [out] */ BOOL *pbIsDisabled);
  24268.         
  24269.         HRESULT ( STDMETHODCALLTYPE *GetCurrentUOPS )( 
  24270.             IDvdInfo2 * This,
  24271.             /* [out] */ ULONG *pulUOPs);
  24272.         
  24273.         HRESULT ( STDMETHODCALLTYPE *GetAllSPRMs )( 
  24274.             IDvdInfo2 * This,
  24275.             /* [out] */ SPRMARRAY *pRegisterArray);
  24276.         
  24277.         HRESULT ( STDMETHODCALLTYPE *GetAllGPRMs )( 
  24278.             IDvdInfo2 * This,
  24279.             /* [out] */ GPRMARRAY *pRegisterArray);
  24280.         
  24281.         HRESULT ( STDMETHODCALLTYPE *GetAudioLanguage )( 
  24282.             IDvdInfo2 * This,
  24283.             /* [in] */ ULONG ulStream,
  24284.             /* [out] */ LCID *pLanguage);
  24285.         
  24286.         HRESULT ( STDMETHODCALLTYPE *GetSubpictureLanguage )( 
  24287.             IDvdInfo2 * This,
  24288.             /* [in] */ ULONG ulStream,
  24289.             /* [out] */ LCID *pLanguage);
  24290.         
  24291.         HRESULT ( STDMETHODCALLTYPE *GetTitleAttributes )( 
  24292.             IDvdInfo2 * This,
  24293.             /* [in] */ ULONG ulTitle,
  24294.             /* [out] */ DVD_MenuAttributes *pMenu,
  24295.             /* [out] */ DVD_TitleAttributes *pTitle);
  24296.         
  24297.         HRESULT ( STDMETHODCALLTYPE *GetVMGAttributes )( 
  24298.             IDvdInfo2 * This,
  24299.             /* [out] */ DVD_MenuAttributes *pATR);
  24300.         
  24301.         HRESULT ( STDMETHODCALLTYPE *GetCurrentVideoAttributes )( 
  24302.             IDvdInfo2 * This,
  24303.             /* [out] */ DVD_VideoAttributes *pATR);
  24304.         
  24305.         HRESULT ( STDMETHODCALLTYPE *GetAudioAttributes )( 
  24306.             IDvdInfo2 * This,
  24307.             /* [in] */ ULONG ulStream,
  24308.             /* [out] */ DVD_AudioAttributes *pATR);
  24309.         
  24310.         HRESULT ( STDMETHODCALLTYPE *GetKaraokeAttributes )( 
  24311.             IDvdInfo2 * This,
  24312.             /* [in] */ ULONG ulStream,
  24313.             /* [out] */ DVD_KaraokeAttributes *pAttributes);
  24314.         
  24315.         HRESULT ( STDMETHODCALLTYPE *GetSubpictureAttributes )( 
  24316.             IDvdInfo2 * This,
  24317.             /* [in] */ ULONG ulStream,
  24318.             /* [out] */ DVD_SubpictureAttributes *pATR);
  24319.         
  24320.         HRESULT ( STDMETHODCALLTYPE *GetDVDVolumeInfo )( 
  24321.             IDvdInfo2 * This,
  24322.             /* [out] */ ULONG *pulNumOfVolumes,
  24323.             /* [out] */ ULONG *pulVolume,
  24324.             /* [out] */ DVD_DISC_SIDE *pSide,
  24325.             /* [out] */ ULONG *pulNumOfTitles);
  24326.         
  24327.         HRESULT ( STDMETHODCALLTYPE *GetDVDTextNumberOfLanguages )( 
  24328.             IDvdInfo2 * This,
  24329.             /* [out] */ ULONG *pulNumOfLangs);
  24330.         
  24331.         HRESULT ( STDMETHODCALLTYPE *GetDVDTextLanguageInfo )( 
  24332.             IDvdInfo2 * This,
  24333.             /* [in] */ ULONG ulLangIndex,
  24334.             /* [out] */ ULONG *pulNumOfStrings,
  24335.             /* [out] */ LCID *pLangCode,
  24336.             /* [out] */ enum DVD_TextCharSet *pbCharacterSet);
  24337.         
  24338.         HRESULT ( STDMETHODCALLTYPE *GetDVDTextStringAsNative )( 
  24339.             IDvdInfo2 * This,
  24340.             /* [in] */ ULONG ulLangIndex,
  24341.             /* [in] */ ULONG ulStringIndex,
  24342.             /* [out] */ BYTE *pbBuffer,
  24343.             /* [in] */ ULONG ulMaxBufferSize,
  24344.             /* [out] */ ULONG *pulActualSize,
  24345.             /* [out] */ enum DVD_TextStringType *pType);
  24346.         
  24347.         HRESULT ( STDMETHODCALLTYPE *GetDVDTextStringAsUnicode )( 
  24348.             IDvdInfo2 * This,
  24349.             /* [in] */ ULONG ulLangIndex,
  24350.             /* [in] */ ULONG ulStringIndex,
  24351.             /* [out] */ WCHAR *pchwBuffer,
  24352.             /* [in] */ ULONG ulMaxBufferSize,
  24353.             /* [out] */ ULONG *pulActualSize,
  24354.             /* [out] */ enum DVD_TextStringType *pType);
  24355.         
  24356.         HRESULT ( STDMETHODCALLTYPE *GetPlayerParentalLevel )( 
  24357.             IDvdInfo2 * This,
  24358.             /* [out] */ ULONG *pulParentalLevel,
  24359.             /* [out] */ BYTE pbCountryCode[ 2 ]);
  24360.         
  24361.         HRESULT ( STDMETHODCALLTYPE *GetNumberOfChapters )( 
  24362.             IDvdInfo2 * This,
  24363.             /* [in] */ ULONG ulTitle,
  24364.             /* [out] */ ULONG *pulNumOfChapters);
  24365.         
  24366.         HRESULT ( STDMETHODCALLTYPE *GetTitleParentalLevels )( 
  24367.             IDvdInfo2 * This,
  24368.             /* [in] */ ULONG ulTitle,
  24369.             /* [out] */ ULONG *pulParentalLevels);
  24370.         
  24371.         HRESULT ( STDMETHODCALLTYPE *GetDVDDirectory )( 
  24372.             IDvdInfo2 * This,
  24373.             /* [size_is][out] */ LPWSTR pszwPath,
  24374.             /* [in] */ ULONG ulMaxSize,
  24375.             /* [out] */ ULONG *pulActualSize);
  24376.         
  24377.         HRESULT ( STDMETHODCALLTYPE *IsAudioStreamEnabled )( 
  24378.             IDvdInfo2 * This,
  24379.             /* [in] */ ULONG ulStreamNum,
  24380.             /* [out] */ BOOL *pbEnabled);
  24381.         
  24382.         HRESULT ( STDMETHODCALLTYPE *GetDiscID )( 
  24383.             IDvdInfo2 * This,
  24384.             /* [in] */ LPCWSTR pszwPath,
  24385.             /* [out] */ ULONGLONG *pullDiscID);
  24386.         
  24387.         HRESULT ( STDMETHODCALLTYPE *GetState )( 
  24388.             IDvdInfo2 * This,
  24389.             /* [out] */ IDvdState **pStateData);
  24390.         
  24391.         HRESULT ( STDMETHODCALLTYPE *GetMenuLanguages )( 
  24392.             IDvdInfo2 * This,
  24393.             /* [out] */ LCID *pLanguages,
  24394.             /* [in] */ ULONG ulMaxLanguages,
  24395.             /* [out] */ ULONG *pulActualLanguages);
  24396.         
  24397.         HRESULT ( STDMETHODCALLTYPE *GetButtonAtPosition )( 
  24398.             IDvdInfo2 * This,
  24399.             /* [in] */ POINT point,
  24400.             /* [out] */ ULONG *pulButtonIndex);
  24401.         
  24402.         HRESULT ( STDMETHODCALLTYPE *GetCmdFromEvent )( 
  24403.             IDvdInfo2 * This,
  24404.             /* [in] */ LONG_PTR lParam1,
  24405.             /* [out] */ IDvdCmd **pCmdObj);
  24406.         
  24407.         HRESULT ( STDMETHODCALLTYPE *GetDefaultMenuLanguage )( 
  24408.             IDvdInfo2 * This,
  24409.             /* [out] */ LCID *pLanguage);
  24410.         
  24411.         HRESULT ( STDMETHODCALLTYPE *GetDefaultAudioLanguage )( 
  24412.             IDvdInfo2 * This,
  24413.             /* [out] */ LCID *pLanguage,
  24414.             /* [out] */ DVD_AUDIO_LANG_EXT *pAudioExtension);
  24415.         
  24416.         HRESULT ( STDMETHODCALLTYPE *GetDefaultSubpictureLanguage )( 
  24417.             IDvdInfo2 * This,
  24418.             /* [out] */ LCID *pLanguage,
  24419.             /* [out] */ DVD_SUBPICTURE_LANG_EXT *pSubpictureExtension);
  24420.         
  24421.         HRESULT ( STDMETHODCALLTYPE *GetDecoderCaps )( 
  24422.             IDvdInfo2 * This,
  24423.             /* [out] */ DVD_DECODER_CAPS *pCaps);
  24424.         
  24425.         HRESULT ( STDMETHODCALLTYPE *GetButtonRect )( 
  24426.             IDvdInfo2 * This,
  24427.             /* [in] */ ULONG ulButton,
  24428.             /* [out] */ RECT *pRect);
  24429.         
  24430.         HRESULT ( STDMETHODCALLTYPE *IsSubpictureStreamEnabled )( 
  24431.             IDvdInfo2 * This,
  24432.             /* [in] */ ULONG ulStreamNum,
  24433.             /* [out] */ BOOL *pbEnabled);
  24434.         
  24435.         END_INTERFACE
  24436.     } IDvdInfo2Vtbl;
  24437.  
  24438.     interface IDvdInfo2
  24439.     {
  24440.         CONST_VTBL struct IDvdInfo2Vtbl *lpVtbl;
  24441.     };
  24442.  
  24443.     
  24444.  
  24445. #ifdef COBJMACROS
  24446.  
  24447.  
  24448. #define IDvdInfo2_QueryInterface(This,riid,ppvObject)    \
  24449.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  24450.  
  24451. #define IDvdInfo2_AddRef(This)    \
  24452.     (This)->lpVtbl -> AddRef(This)
  24453.  
  24454. #define IDvdInfo2_Release(This)    \
  24455.     (This)->lpVtbl -> Release(This)
  24456.  
  24457.  
  24458. #define IDvdInfo2_GetCurrentDomain(This,pDomain)    \
  24459.     (This)->lpVtbl -> GetCurrentDomain(This,pDomain)
  24460.  
  24461. #define IDvdInfo2_GetCurrentLocation(This,pLocation)    \
  24462.     (This)->lpVtbl -> GetCurrentLocation(This,pLocation)
  24463.  
  24464. #define IDvdInfo2_GetTotalTitleTime(This,pTotalTime,ulTimeCodeFlags)    \
  24465.     (This)->lpVtbl -> GetTotalTitleTime(This,pTotalTime,ulTimeCodeFlags)
  24466.  
  24467. #define IDvdInfo2_GetCurrentButton(This,pulButtonsAvailable,pulCurrentButton)    \
  24468.     (This)->lpVtbl -> GetCurrentButton(This,pulButtonsAvailable,pulCurrentButton)
  24469.  
  24470. #define IDvdInfo2_GetCurrentAngle(This,pulAnglesAvailable,pulCurrentAngle)    \
  24471.     (This)->lpVtbl -> GetCurrentAngle(This,pulAnglesAvailable,pulCurrentAngle)
  24472.  
  24473. #define IDvdInfo2_GetCurrentAudio(This,pulStreamsAvailable,pulCurrentStream)    \
  24474.     (This)->lpVtbl -> GetCurrentAudio(This,pulStreamsAvailable,pulCurrentStream)
  24475.  
  24476. #define IDvdInfo2_GetCurrentSubpicture(This,pulStreamsAvailable,pulCurrentStream,pbIsDisabled)    \
  24477.     (This)->lpVtbl -> GetCurrentSubpicture(This,pulStreamsAvailable,pulCurrentStream,pbIsDisabled)
  24478.  
  24479. #define IDvdInfo2_GetCurrentUOPS(This,pulUOPs)    \
  24480.     (This)->lpVtbl -> GetCurrentUOPS(This,pulUOPs)
  24481.  
  24482. #define IDvdInfo2_GetAllSPRMs(This,pRegisterArray)    \
  24483.     (This)->lpVtbl -> GetAllSPRMs(This,pRegisterArray)
  24484.  
  24485. #define IDvdInfo2_GetAllGPRMs(This,pRegisterArray)    \
  24486.     (This)->lpVtbl -> GetAllGPRMs(This,pRegisterArray)
  24487.  
  24488. #define IDvdInfo2_GetAudioLanguage(This,ulStream,pLanguage)    \
  24489.     (This)->lpVtbl -> GetAudioLanguage(This,ulStream,pLanguage)
  24490.  
  24491. #define IDvdInfo2_GetSubpictureLanguage(This,ulStream,pLanguage)    \
  24492.     (This)->lpVtbl -> GetSubpictureLanguage(This,ulStream,pLanguage)
  24493.  
  24494. #define IDvdInfo2_GetTitleAttributes(This,ulTitle,pMenu,pTitle)    \
  24495.     (This)->lpVtbl -> GetTitleAttributes(This,ulTitle,pMenu,pTitle)
  24496.  
  24497. #define IDvdInfo2_GetVMGAttributes(This,pATR)    \
  24498.     (This)->lpVtbl -> GetVMGAttributes(This,pATR)
  24499.  
  24500. #define IDvdInfo2_GetCurrentVideoAttributes(This,pATR)    \
  24501.     (This)->lpVtbl -> GetCurrentVideoAttributes(This,pATR)
  24502.  
  24503. #define IDvdInfo2_GetAudioAttributes(This,ulStream,pATR)    \
  24504.     (This)->lpVtbl -> GetAudioAttributes(This,ulStream,pATR)
  24505.  
  24506. #define IDvdInfo2_GetKaraokeAttributes(This,ulStream,pAttributes)    \
  24507.     (This)->lpVtbl -> GetKaraokeAttributes(This,ulStream,pAttributes)
  24508.  
  24509. #define IDvdInfo2_GetSubpictureAttributes(This,ulStream,pATR)    \
  24510.     (This)->lpVtbl -> GetSubpictureAttributes(This,ulStream,pATR)
  24511.  
  24512. #define IDvdInfo2_GetDVDVolumeInfo(This,pulNumOfVolumes,pulVolume,pSide,pulNumOfTitles)    \
  24513.     (This)->lpVtbl -> GetDVDVolumeInfo(This,pulNumOfVolumes,pulVolume,pSide,pulNumOfTitles)
  24514.  
  24515. #define IDvdInfo2_GetDVDTextNumberOfLanguages(This,pulNumOfLangs)    \
  24516.     (This)->lpVtbl -> GetDVDTextNumberOfLanguages(This,pulNumOfLangs)
  24517.  
  24518. #define IDvdInfo2_GetDVDTextLanguageInfo(This,ulLangIndex,pulNumOfStrings,pLangCode,pbCharacterSet)    \
  24519.     (This)->lpVtbl -> GetDVDTextLanguageInfo(This,ulLangIndex,pulNumOfStrings,pLangCode,pbCharacterSet)
  24520.  
  24521. #define IDvdInfo2_GetDVDTextStringAsNative(This,ulLangIndex,ulStringIndex,pbBuffer,ulMaxBufferSize,pulActualSize,pType)    \
  24522.     (This)->lpVtbl -> GetDVDTextStringAsNative(This,ulLangIndex,ulStringIndex,pbBuffer,ulMaxBufferSize,pulActualSize,pType)
  24523.  
  24524. #define IDvdInfo2_GetDVDTextStringAsUnicode(This,ulLangIndex,ulStringIndex,pchwBuffer,ulMaxBufferSize,pulActualSize,pType)    \
  24525.     (This)->lpVtbl -> GetDVDTextStringAsUnicode(This,ulLangIndex,ulStringIndex,pchwBuffer,ulMaxBufferSize,pulActualSize,pType)
  24526.  
  24527. #define IDvdInfo2_GetPlayerParentalLevel(This,pulParentalLevel,pbCountryCode)    \
  24528.     (This)->lpVtbl -> GetPlayerParentalLevel(This,pulParentalLevel,pbCountryCode)
  24529.  
  24530. #define IDvdInfo2_GetNumberOfChapters(This,ulTitle,pulNumOfChapters)    \
  24531.     (This)->lpVtbl -> GetNumberOfChapters(This,ulTitle,pulNumOfChapters)
  24532.  
  24533. #define IDvdInfo2_GetTitleParentalLevels(This,ulTitle,pulParentalLevels)    \
  24534.     (This)->lpVtbl -> GetTitleParentalLevels(This,ulTitle,pulParentalLevels)
  24535.  
  24536. #define IDvdInfo2_GetDVDDirectory(This,pszwPath,ulMaxSize,pulActualSize)    \
  24537.     (This)->lpVtbl -> GetDVDDirectory(This,pszwPath,ulMaxSize,pulActualSize)
  24538.  
  24539. #define IDvdInfo2_IsAudioStreamEnabled(This,ulStreamNum,pbEnabled)    \
  24540.     (This)->lpVtbl -> IsAudioStreamEnabled(This,ulStreamNum,pbEnabled)
  24541.  
  24542. #define IDvdInfo2_GetDiscID(This,pszwPath,pullDiscID)    \
  24543.     (This)->lpVtbl -> GetDiscID(This,pszwPath,pullDiscID)
  24544.  
  24545. #define IDvdInfo2_GetState(This,pStateData)    \
  24546.     (This)->lpVtbl -> GetState(This,pStateData)
  24547.  
  24548. #define IDvdInfo2_GetMenuLanguages(This,pLanguages,ulMaxLanguages,pulActualLanguages)    \
  24549.     (This)->lpVtbl -> GetMenuLanguages(This,pLanguages,ulMaxLanguages,pulActualLanguages)
  24550.  
  24551. #define IDvdInfo2_GetButtonAtPosition(This,point,pulButtonIndex)    \
  24552.     (This)->lpVtbl -> GetButtonAtPosition(This,point,pulButtonIndex)
  24553.  
  24554. #define IDvdInfo2_GetCmdFromEvent(This,lParam1,pCmdObj)    \
  24555.     (This)->lpVtbl -> GetCmdFromEvent(This,lParam1,pCmdObj)
  24556.  
  24557. #define IDvdInfo2_GetDefaultMenuLanguage(This,pLanguage)    \
  24558.     (This)->lpVtbl -> GetDefaultMenuLanguage(This,pLanguage)
  24559.  
  24560. #define IDvdInfo2_GetDefaultAudioLanguage(This,pLanguage,pAudioExtension)    \
  24561.     (This)->lpVtbl -> GetDefaultAudioLanguage(This,pLanguage,pAudioExtension)
  24562.  
  24563. #define IDvdInfo2_GetDefaultSubpictureLanguage(This,pLanguage,pSubpictureExtension)    \
  24564.     (This)->lpVtbl -> GetDefaultSubpictureLanguage(This,pLanguage,pSubpictureExtension)
  24565.  
  24566. #define IDvdInfo2_GetDecoderCaps(This,pCaps)    \
  24567.     (This)->lpVtbl -> GetDecoderCaps(This,pCaps)
  24568.  
  24569. #define IDvdInfo2_GetButtonRect(This,ulButton,pRect)    \
  24570.     (This)->lpVtbl -> GetButtonRect(This,ulButton,pRect)
  24571.  
  24572. #define IDvdInfo2_IsSubpictureStreamEnabled(This,ulStreamNum,pbEnabled)    \
  24573.     (This)->lpVtbl -> IsSubpictureStreamEnabled(This,ulStreamNum,pbEnabled)
  24574.  
  24575. #endif /* COBJMACROS */
  24576.  
  24577.  
  24578. #endif     /* C style interface */
  24579.  
  24580.  
  24581.  
  24582. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetCurrentDomain_Proxy( 
  24583.     IDvdInfo2 * This,
  24584.     /* [out] */ DVD_DOMAIN *pDomain);
  24585.  
  24586.  
  24587. void __RPC_STUB IDvdInfo2_GetCurrentDomain_Stub(
  24588.     IRpcStubBuffer *This,
  24589.     IRpcChannelBuffer *_pRpcChannelBuffer,
  24590.     PRPC_MESSAGE _pRpcMessage,
  24591.     DWORD *_pdwStubPhase);
  24592.  
  24593.  
  24594. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetCurrentLocation_Proxy( 
  24595.     IDvdInfo2 * This,
  24596.     /* [out] */ DVD_PLAYBACK_LOCATION2 *pLocation);
  24597.  
  24598.  
  24599. void __RPC_STUB IDvdInfo2_GetCurrentLocation_Stub(
  24600.     IRpcStubBuffer *This,
  24601.     IRpcChannelBuffer *_pRpcChannelBuffer,
  24602.     PRPC_MESSAGE _pRpcMessage,
  24603.     DWORD *_pdwStubPhase);
  24604.  
  24605.  
  24606. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetTotalTitleTime_Proxy( 
  24607.     IDvdInfo2 * This,
  24608.     /* [out] */ DVD_HMSF_TIMECODE *pTotalTime,
  24609.     /* [out] */ ULONG *ulTimeCodeFlags);
  24610.  
  24611.  
  24612. void __RPC_STUB IDvdInfo2_GetTotalTitleTime_Stub(
  24613.     IRpcStubBuffer *This,
  24614.     IRpcChannelBuffer *_pRpcChannelBuffer,
  24615.     PRPC_MESSAGE _pRpcMessage,
  24616.     DWORD *_pdwStubPhase);
  24617.  
  24618.  
  24619. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetCurrentButton_Proxy( 
  24620.     IDvdInfo2 * This,
  24621.     /* [out] */ ULONG *pulButtonsAvailable,
  24622.     /* [out] */ ULONG *pulCurrentButton);
  24623.  
  24624.  
  24625. void __RPC_STUB IDvdInfo2_GetCurrentButton_Stub(
  24626.     IRpcStubBuffer *This,
  24627.     IRpcChannelBuffer *_pRpcChannelBuffer,
  24628.     PRPC_MESSAGE _pRpcMessage,
  24629.     DWORD *_pdwStubPhase);
  24630.  
  24631.  
  24632. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetCurrentAngle_Proxy( 
  24633.     IDvdInfo2 * This,
  24634.     /* [out] */ ULONG *pulAnglesAvailable,
  24635.     /* [out] */ ULONG *pulCurrentAngle);
  24636.  
  24637.  
  24638. void __RPC_STUB IDvdInfo2_GetCurrentAngle_Stub(
  24639.     IRpcStubBuffer *This,
  24640.     IRpcChannelBuffer *_pRpcChannelBuffer,
  24641.     PRPC_MESSAGE _pRpcMessage,
  24642.     DWORD *_pdwStubPhase);
  24643.  
  24644.  
  24645. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetCurrentAudio_Proxy( 
  24646.     IDvdInfo2 * This,
  24647.     /* [out] */ ULONG *pulStreamsAvailable,
  24648.     /* [out] */ ULONG *pulCurrentStream);
  24649.  
  24650.  
  24651. void __RPC_STUB IDvdInfo2_GetCurrentAudio_Stub(
  24652.     IRpcStubBuffer *This,
  24653.     IRpcChannelBuffer *_pRpcChannelBuffer,
  24654.     PRPC_MESSAGE _pRpcMessage,
  24655.     DWORD *_pdwStubPhase);
  24656.  
  24657.  
  24658. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetCurrentSubpicture_Proxy( 
  24659.     IDvdInfo2 * This,
  24660.     /* [out] */ ULONG *pulStreamsAvailable,
  24661.     /* [out] */ ULONG *pulCurrentStream,
  24662.     /* [out] */ BOOL *pbIsDisabled);
  24663.  
  24664.  
  24665. void __RPC_STUB IDvdInfo2_GetCurrentSubpicture_Stub(
  24666.     IRpcStubBuffer *This,
  24667.     IRpcChannelBuffer *_pRpcChannelBuffer,
  24668.     PRPC_MESSAGE _pRpcMessage,
  24669.     DWORD *_pdwStubPhase);
  24670.  
  24671.  
  24672. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetCurrentUOPS_Proxy( 
  24673.     IDvdInfo2 * This,
  24674.     /* [out] */ ULONG *pulUOPs);
  24675.  
  24676.  
  24677. void __RPC_STUB IDvdInfo2_GetCurrentUOPS_Stub(
  24678.     IRpcStubBuffer *This,
  24679.     IRpcChannelBuffer *_pRpcChannelBuffer,
  24680.     PRPC_MESSAGE _pRpcMessage,
  24681.     DWORD *_pdwStubPhase);
  24682.  
  24683.  
  24684. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetAllSPRMs_Proxy( 
  24685.     IDvdInfo2 * This,
  24686.     /* [out] */ SPRMARRAY *pRegisterArray);
  24687.  
  24688.  
  24689. void __RPC_STUB IDvdInfo2_GetAllSPRMs_Stub(
  24690.     IRpcStubBuffer *This,
  24691.     IRpcChannelBuffer *_pRpcChannelBuffer,
  24692.     PRPC_MESSAGE _pRpcMessage,
  24693.     DWORD *_pdwStubPhase);
  24694.  
  24695.  
  24696. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetAllGPRMs_Proxy( 
  24697.     IDvdInfo2 * This,
  24698.     /* [out] */ GPRMARRAY *pRegisterArray);
  24699.  
  24700.  
  24701. void __RPC_STUB IDvdInfo2_GetAllGPRMs_Stub(
  24702.     IRpcStubBuffer *This,
  24703.     IRpcChannelBuffer *_pRpcChannelBuffer,
  24704.     PRPC_MESSAGE _pRpcMessage,
  24705.     DWORD *_pdwStubPhase);
  24706.  
  24707.  
  24708. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetAudioLanguage_Proxy( 
  24709.     IDvdInfo2 * This,
  24710.     /* [in] */ ULONG ulStream,
  24711.     /* [out] */ LCID *pLanguage);
  24712.  
  24713.  
  24714. void __RPC_STUB IDvdInfo2_GetAudioLanguage_Stub(
  24715.     IRpcStubBuffer *This,
  24716.     IRpcChannelBuffer *_pRpcChannelBuffer,
  24717.     PRPC_MESSAGE _pRpcMessage,
  24718.     DWORD *_pdwStubPhase);
  24719.  
  24720.  
  24721. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetSubpictureLanguage_Proxy( 
  24722.     IDvdInfo2 * This,
  24723.     /* [in] */ ULONG ulStream,
  24724.     /* [out] */ LCID *pLanguage);
  24725.  
  24726.  
  24727. void __RPC_STUB IDvdInfo2_GetSubpictureLanguage_Stub(
  24728.     IRpcStubBuffer *This,
  24729.     IRpcChannelBuffer *_pRpcChannelBuffer,
  24730.     PRPC_MESSAGE _pRpcMessage,
  24731.     DWORD *_pdwStubPhase);
  24732.  
  24733.  
  24734. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetTitleAttributes_Proxy( 
  24735.     IDvdInfo2 * This,
  24736.     /* [in] */ ULONG ulTitle,
  24737.     /* [out] */ DVD_MenuAttributes *pMenu,
  24738.     /* [out] */ DVD_TitleAttributes *pTitle);
  24739.  
  24740.  
  24741. void __RPC_STUB IDvdInfo2_GetTitleAttributes_Stub(
  24742.     IRpcStubBuffer *This,
  24743.     IRpcChannelBuffer *_pRpcChannelBuffer,
  24744.     PRPC_MESSAGE _pRpcMessage,
  24745.     DWORD *_pdwStubPhase);
  24746.  
  24747.  
  24748. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetVMGAttributes_Proxy( 
  24749.     IDvdInfo2 * This,
  24750.     /* [out] */ DVD_MenuAttributes *pATR);
  24751.  
  24752.  
  24753. void __RPC_STUB IDvdInfo2_GetVMGAttributes_Stub(
  24754.     IRpcStubBuffer *This,
  24755.     IRpcChannelBuffer *_pRpcChannelBuffer,
  24756.     PRPC_MESSAGE _pRpcMessage,
  24757.     DWORD *_pdwStubPhase);
  24758.  
  24759.  
  24760. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetCurrentVideoAttributes_Proxy( 
  24761.     IDvdInfo2 * This,
  24762.     /* [out] */ DVD_VideoAttributes *pATR);
  24763.  
  24764.  
  24765. void __RPC_STUB IDvdInfo2_GetCurrentVideoAttributes_Stub(
  24766.     IRpcStubBuffer *This,
  24767.     IRpcChannelBuffer *_pRpcChannelBuffer,
  24768.     PRPC_MESSAGE _pRpcMessage,
  24769.     DWORD *_pdwStubPhase);
  24770.  
  24771.  
  24772. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetAudioAttributes_Proxy( 
  24773.     IDvdInfo2 * This,
  24774.     /* [in] */ ULONG ulStream,
  24775.     /* [out] */ DVD_AudioAttributes *pATR);
  24776.  
  24777.  
  24778. void __RPC_STUB IDvdInfo2_GetAudioAttributes_Stub(
  24779.     IRpcStubBuffer *This,
  24780.     IRpcChannelBuffer *_pRpcChannelBuffer,
  24781.     PRPC_MESSAGE _pRpcMessage,
  24782.     DWORD *_pdwStubPhase);
  24783.  
  24784.  
  24785. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetKaraokeAttributes_Proxy( 
  24786.     IDvdInfo2 * This,
  24787.     /* [in] */ ULONG ulStream,
  24788.     /* [out] */ DVD_KaraokeAttributes *pAttributes);
  24789.  
  24790.  
  24791. void __RPC_STUB IDvdInfo2_GetKaraokeAttributes_Stub(
  24792.     IRpcStubBuffer *This,
  24793.     IRpcChannelBuffer *_pRpcChannelBuffer,
  24794.     PRPC_MESSAGE _pRpcMessage,
  24795.     DWORD *_pdwStubPhase);
  24796.  
  24797.  
  24798. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetSubpictureAttributes_Proxy( 
  24799.     IDvdInfo2 * This,
  24800.     /* [in] */ ULONG ulStream,
  24801.     /* [out] */ DVD_SubpictureAttributes *pATR);
  24802.  
  24803.  
  24804. void __RPC_STUB IDvdInfo2_GetSubpictureAttributes_Stub(
  24805.     IRpcStubBuffer *This,
  24806.     IRpcChannelBuffer *_pRpcChannelBuffer,
  24807.     PRPC_MESSAGE _pRpcMessage,
  24808.     DWORD *_pdwStubPhase);
  24809.  
  24810.  
  24811. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetDVDVolumeInfo_Proxy( 
  24812.     IDvdInfo2 * This,
  24813.     /* [out] */ ULONG *pulNumOfVolumes,
  24814.     /* [out] */ ULONG *pulVolume,
  24815.     /* [out] */ DVD_DISC_SIDE *pSide,
  24816.     /* [out] */ ULONG *pulNumOfTitles);
  24817.  
  24818.  
  24819. void __RPC_STUB IDvdInfo2_GetDVDVolumeInfo_Stub(
  24820.     IRpcStubBuffer *This,
  24821.     IRpcChannelBuffer *_pRpcChannelBuffer,
  24822.     PRPC_MESSAGE _pRpcMessage,
  24823.     DWORD *_pdwStubPhase);
  24824.  
  24825.  
  24826. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetDVDTextNumberOfLanguages_Proxy( 
  24827.     IDvdInfo2 * This,
  24828.     /* [out] */ ULONG *pulNumOfLangs);
  24829.  
  24830.  
  24831. void __RPC_STUB IDvdInfo2_GetDVDTextNumberOfLanguages_Stub(
  24832.     IRpcStubBuffer *This,
  24833.     IRpcChannelBuffer *_pRpcChannelBuffer,
  24834.     PRPC_MESSAGE _pRpcMessage,
  24835.     DWORD *_pdwStubPhase);
  24836.  
  24837.  
  24838. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetDVDTextLanguageInfo_Proxy( 
  24839.     IDvdInfo2 * This,
  24840.     /* [in] */ ULONG ulLangIndex,
  24841.     /* [out] */ ULONG *pulNumOfStrings,
  24842.     /* [out] */ LCID *pLangCode,
  24843.     /* [out] */ enum DVD_TextCharSet *pbCharacterSet);
  24844.  
  24845.  
  24846. void __RPC_STUB IDvdInfo2_GetDVDTextLanguageInfo_Stub(
  24847.     IRpcStubBuffer *This,
  24848.     IRpcChannelBuffer *_pRpcChannelBuffer,
  24849.     PRPC_MESSAGE _pRpcMessage,
  24850.     DWORD *_pdwStubPhase);
  24851.  
  24852.  
  24853. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetDVDTextStringAsNative_Proxy( 
  24854.     IDvdInfo2 * This,
  24855.     /* [in] */ ULONG ulLangIndex,
  24856.     /* [in] */ ULONG ulStringIndex,
  24857.     /* [out] */ BYTE *pbBuffer,
  24858.     /* [in] */ ULONG ulMaxBufferSize,
  24859.     /* [out] */ ULONG *pulActualSize,
  24860.     /* [out] */ enum DVD_TextStringType *pType);
  24861.  
  24862.  
  24863. void __RPC_STUB IDvdInfo2_GetDVDTextStringAsNative_Stub(
  24864.     IRpcStubBuffer *This,
  24865.     IRpcChannelBuffer *_pRpcChannelBuffer,
  24866.     PRPC_MESSAGE _pRpcMessage,
  24867.     DWORD *_pdwStubPhase);
  24868.  
  24869.  
  24870. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetDVDTextStringAsUnicode_Proxy( 
  24871.     IDvdInfo2 * This,
  24872.     /* [in] */ ULONG ulLangIndex,
  24873.     /* [in] */ ULONG ulStringIndex,
  24874.     /* [out] */ WCHAR *pchwBuffer,
  24875.     /* [in] */ ULONG ulMaxBufferSize,
  24876.     /* [out] */ ULONG *pulActualSize,
  24877.     /* [out] */ enum DVD_TextStringType *pType);
  24878.  
  24879.  
  24880. void __RPC_STUB IDvdInfo2_GetDVDTextStringAsUnicode_Stub(
  24881.     IRpcStubBuffer *This,
  24882.     IRpcChannelBuffer *_pRpcChannelBuffer,
  24883.     PRPC_MESSAGE _pRpcMessage,
  24884.     DWORD *_pdwStubPhase);
  24885.  
  24886.  
  24887. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetPlayerParentalLevel_Proxy( 
  24888.     IDvdInfo2 * This,
  24889.     /* [out] */ ULONG *pulParentalLevel,
  24890.     /* [out] */ BYTE pbCountryCode[ 2 ]);
  24891.  
  24892.  
  24893. void __RPC_STUB IDvdInfo2_GetPlayerParentalLevel_Stub(
  24894.     IRpcStubBuffer *This,
  24895.     IRpcChannelBuffer *_pRpcChannelBuffer,
  24896.     PRPC_MESSAGE _pRpcMessage,
  24897.     DWORD *_pdwStubPhase);
  24898.  
  24899.  
  24900. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetNumberOfChapters_Proxy( 
  24901.     IDvdInfo2 * This,
  24902.     /* [in] */ ULONG ulTitle,
  24903.     /* [out] */ ULONG *pulNumOfChapters);
  24904.  
  24905.  
  24906. void __RPC_STUB IDvdInfo2_GetNumberOfChapters_Stub(
  24907.     IRpcStubBuffer *This,
  24908.     IRpcChannelBuffer *_pRpcChannelBuffer,
  24909.     PRPC_MESSAGE _pRpcMessage,
  24910.     DWORD *_pdwStubPhase);
  24911.  
  24912.  
  24913. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetTitleParentalLevels_Proxy( 
  24914.     IDvdInfo2 * This,
  24915.     /* [in] */ ULONG ulTitle,
  24916.     /* [out] */ ULONG *pulParentalLevels);
  24917.  
  24918.  
  24919. void __RPC_STUB IDvdInfo2_GetTitleParentalLevels_Stub(
  24920.     IRpcStubBuffer *This,
  24921.     IRpcChannelBuffer *_pRpcChannelBuffer,
  24922.     PRPC_MESSAGE _pRpcMessage,
  24923.     DWORD *_pdwStubPhase);
  24924.  
  24925.  
  24926. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetDVDDirectory_Proxy( 
  24927.     IDvdInfo2 * This,
  24928.     /* [size_is][out] */ LPWSTR pszwPath,
  24929.     /* [in] */ ULONG ulMaxSize,
  24930.     /* [out] */ ULONG *pulActualSize);
  24931.  
  24932.  
  24933. void __RPC_STUB IDvdInfo2_GetDVDDirectory_Stub(
  24934.     IRpcStubBuffer *This,
  24935.     IRpcChannelBuffer *_pRpcChannelBuffer,
  24936.     PRPC_MESSAGE _pRpcMessage,
  24937.     DWORD *_pdwStubPhase);
  24938.  
  24939.  
  24940. HRESULT STDMETHODCALLTYPE IDvdInfo2_IsAudioStreamEnabled_Proxy( 
  24941.     IDvdInfo2 * This,
  24942.     /* [in] */ ULONG ulStreamNum,
  24943.     /* [out] */ BOOL *pbEnabled);
  24944.  
  24945.  
  24946. void __RPC_STUB IDvdInfo2_IsAudioStreamEnabled_Stub(
  24947.     IRpcStubBuffer *This,
  24948.     IRpcChannelBuffer *_pRpcChannelBuffer,
  24949.     PRPC_MESSAGE _pRpcMessage,
  24950.     DWORD *_pdwStubPhase);
  24951.  
  24952.  
  24953. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetDiscID_Proxy( 
  24954.     IDvdInfo2 * This,
  24955.     /* [in] */ LPCWSTR pszwPath,
  24956.     /* [out] */ ULONGLONG *pullDiscID);
  24957.  
  24958.  
  24959. void __RPC_STUB IDvdInfo2_GetDiscID_Stub(
  24960.     IRpcStubBuffer *This,
  24961.     IRpcChannelBuffer *_pRpcChannelBuffer,
  24962.     PRPC_MESSAGE _pRpcMessage,
  24963.     DWORD *_pdwStubPhase);
  24964.  
  24965.  
  24966. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetState_Proxy( 
  24967.     IDvdInfo2 * This,
  24968.     /* [out] */ IDvdState **pStateData);
  24969.  
  24970.  
  24971. void __RPC_STUB IDvdInfo2_GetState_Stub(
  24972.     IRpcStubBuffer *This,
  24973.     IRpcChannelBuffer *_pRpcChannelBuffer,
  24974.     PRPC_MESSAGE _pRpcMessage,
  24975.     DWORD *_pdwStubPhase);
  24976.  
  24977.  
  24978. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetMenuLanguages_Proxy( 
  24979.     IDvdInfo2 * This,
  24980.     /* [out] */ LCID *pLanguages,
  24981.     /* [in] */ ULONG ulMaxLanguages,
  24982.     /* [out] */ ULONG *pulActualLanguages);
  24983.  
  24984.  
  24985. void __RPC_STUB IDvdInfo2_GetMenuLanguages_Stub(
  24986.     IRpcStubBuffer *This,
  24987.     IRpcChannelBuffer *_pRpcChannelBuffer,
  24988.     PRPC_MESSAGE _pRpcMessage,
  24989.     DWORD *_pdwStubPhase);
  24990.  
  24991.  
  24992. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetButtonAtPosition_Proxy( 
  24993.     IDvdInfo2 * This,
  24994.     /* [in] */ POINT point,
  24995.     /* [out] */ ULONG *pulButtonIndex);
  24996.  
  24997.  
  24998. void __RPC_STUB IDvdInfo2_GetButtonAtPosition_Stub(
  24999.     IRpcStubBuffer *This,
  25000.     IRpcChannelBuffer *_pRpcChannelBuffer,
  25001.     PRPC_MESSAGE _pRpcMessage,
  25002.     DWORD *_pdwStubPhase);
  25003.  
  25004.  
  25005. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetCmdFromEvent_Proxy( 
  25006.     IDvdInfo2 * This,
  25007.     /* [in] */ LONG_PTR lParam1,
  25008.     /* [out] */ IDvdCmd **pCmdObj);
  25009.  
  25010.  
  25011. void __RPC_STUB IDvdInfo2_GetCmdFromEvent_Stub(
  25012.     IRpcStubBuffer *This,
  25013.     IRpcChannelBuffer *_pRpcChannelBuffer,
  25014.     PRPC_MESSAGE _pRpcMessage,
  25015.     DWORD *_pdwStubPhase);
  25016.  
  25017.  
  25018. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetDefaultMenuLanguage_Proxy( 
  25019.     IDvdInfo2 * This,
  25020.     /* [out] */ LCID *pLanguage);
  25021.  
  25022.  
  25023. void __RPC_STUB IDvdInfo2_GetDefaultMenuLanguage_Stub(
  25024.     IRpcStubBuffer *This,
  25025.     IRpcChannelBuffer *_pRpcChannelBuffer,
  25026.     PRPC_MESSAGE _pRpcMessage,
  25027.     DWORD *_pdwStubPhase);
  25028.  
  25029.  
  25030. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetDefaultAudioLanguage_Proxy( 
  25031.     IDvdInfo2 * This,
  25032.     /* [out] */ LCID *pLanguage,
  25033.     /* [out] */ DVD_AUDIO_LANG_EXT *pAudioExtension);
  25034.  
  25035.  
  25036. void __RPC_STUB IDvdInfo2_GetDefaultAudioLanguage_Stub(
  25037.     IRpcStubBuffer *This,
  25038.     IRpcChannelBuffer *_pRpcChannelBuffer,
  25039.     PRPC_MESSAGE _pRpcMessage,
  25040.     DWORD *_pdwStubPhase);
  25041.  
  25042.  
  25043. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetDefaultSubpictureLanguage_Proxy( 
  25044.     IDvdInfo2 * This,
  25045.     /* [out] */ LCID *pLanguage,
  25046.     /* [out] */ DVD_SUBPICTURE_LANG_EXT *pSubpictureExtension);
  25047.  
  25048.  
  25049. void __RPC_STUB IDvdInfo2_GetDefaultSubpictureLanguage_Stub(
  25050.     IRpcStubBuffer *This,
  25051.     IRpcChannelBuffer *_pRpcChannelBuffer,
  25052.     PRPC_MESSAGE _pRpcMessage,
  25053.     DWORD *_pdwStubPhase);
  25054.  
  25055.  
  25056. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetDecoderCaps_Proxy( 
  25057.     IDvdInfo2 * This,
  25058.     /* [out] */ DVD_DECODER_CAPS *pCaps);
  25059.  
  25060.  
  25061. void __RPC_STUB IDvdInfo2_GetDecoderCaps_Stub(
  25062.     IRpcStubBuffer *This,
  25063.     IRpcChannelBuffer *_pRpcChannelBuffer,
  25064.     PRPC_MESSAGE _pRpcMessage,
  25065.     DWORD *_pdwStubPhase);
  25066.  
  25067.  
  25068. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetButtonRect_Proxy( 
  25069.     IDvdInfo2 * This,
  25070.     /* [in] */ ULONG ulButton,
  25071.     /* [out] */ RECT *pRect);
  25072.  
  25073.  
  25074. void __RPC_STUB IDvdInfo2_GetButtonRect_Stub(
  25075.     IRpcStubBuffer *This,
  25076.     IRpcChannelBuffer *_pRpcChannelBuffer,
  25077.     PRPC_MESSAGE _pRpcMessage,
  25078.     DWORD *_pdwStubPhase);
  25079.  
  25080.  
  25081. HRESULT STDMETHODCALLTYPE IDvdInfo2_IsSubpictureStreamEnabled_Proxy( 
  25082.     IDvdInfo2 * This,
  25083.     /* [in] */ ULONG ulStreamNum,
  25084.     /* [out] */ BOOL *pbEnabled);
  25085.  
  25086.  
  25087. void __RPC_STUB IDvdInfo2_IsSubpictureStreamEnabled_Stub(
  25088.     IRpcStubBuffer *This,
  25089.     IRpcChannelBuffer *_pRpcChannelBuffer,
  25090.     PRPC_MESSAGE _pRpcMessage,
  25091.     DWORD *_pdwStubPhase);
  25092.  
  25093.  
  25094.  
  25095. #endif     /* __IDvdInfo2_INTERFACE_DEFINED__ */
  25096.  
  25097.  
  25098. /* interface __MIDL_itf_strmif_0364 */
  25099. /* [local] */ 
  25100.  
  25101. typedef 
  25102. enum _AM_DVD_GRAPH_FLAGS
  25103.     {    AM_DVD_HWDEC_PREFER    = 0x1,
  25104.     AM_DVD_HWDEC_ONLY    = 0x2,
  25105.     AM_DVD_SWDEC_PREFER    = 0x4,
  25106.     AM_DVD_SWDEC_ONLY    = 0x8,
  25107.     AM_DVD_NOVPE    = 0x100
  25108.     }     AM_DVD_GRAPH_FLAGS;
  25109.  
  25110. typedef 
  25111. enum _AM_DVD_STREAM_FLAGS
  25112.     {    AM_DVD_STREAM_VIDEO    = 0x1,
  25113.     AM_DVD_STREAM_AUDIO    = 0x2,
  25114.     AM_DVD_STREAM_SUBPIC    = 0x4
  25115.     }     AM_DVD_STREAM_FLAGS;
  25116.  
  25117. typedef /* [public][public] */ struct __MIDL___MIDL_itf_strmif_0364_0001
  25118.     {
  25119.     HRESULT hrVPEStatus;
  25120.     BOOL bDvdVolInvalid;
  25121.     BOOL bDvdVolUnknown;
  25122.     BOOL bNoLine21In;
  25123.     BOOL bNoLine21Out;
  25124.     int iNumStreams;
  25125.     int iNumStreamsFailed;
  25126.     DWORD dwFailedStreamsFlag;
  25127.     }     AM_DVD_RENDERSTATUS;
  25128.  
  25129.  
  25130.  
  25131. extern RPC_IF_HANDLE __MIDL_itf_strmif_0364_v0_0_c_ifspec;
  25132. extern RPC_IF_HANDLE __MIDL_itf_strmif_0364_v0_0_s_ifspec;
  25133.  
  25134. #ifndef __IDvdGraphBuilder_INTERFACE_DEFINED__
  25135. #define __IDvdGraphBuilder_INTERFACE_DEFINED__
  25136.  
  25137. /* interface IDvdGraphBuilder */
  25138. /* [unique][uuid][local][object] */ 
  25139.  
  25140.  
  25141. EXTERN_C const IID IID_IDvdGraphBuilder;
  25142.  
  25143. #if defined(__cplusplus) && !defined(CINTERFACE)
  25144.     
  25145.     MIDL_INTERFACE("FCC152B6-F372-11d0-8E00-00C04FD7C08B")
  25146.     IDvdGraphBuilder : public IUnknown
  25147.     {
  25148.     public:
  25149.         virtual HRESULT STDMETHODCALLTYPE GetFiltergraph( 
  25150.             /* [out] */ IGraphBuilder **ppGB) = 0;
  25151.         
  25152.         virtual HRESULT STDMETHODCALLTYPE GetDvdInterface( 
  25153.             /* [in] */ REFIID riid,
  25154.             /* [out] */ void **ppvIF) = 0;
  25155.         
  25156.         virtual HRESULT STDMETHODCALLTYPE RenderDvdVideoVolume( 
  25157.             /* [in] */ LPCWSTR lpcwszPathName,
  25158.             /* [in] */ DWORD dwFlags,
  25159.             /* [out] */ AM_DVD_RENDERSTATUS *pStatus) = 0;
  25160.         
  25161.     };
  25162.     
  25163. #else     /* C style interface */
  25164.  
  25165.     typedef struct IDvdGraphBuilderVtbl
  25166.     {
  25167.         BEGIN_INTERFACE
  25168.         
  25169.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  25170.             IDvdGraphBuilder * This,
  25171.             /* [in] */ REFIID riid,
  25172.             /* [iid_is][out] */ void **ppvObject);
  25173.         
  25174.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  25175.             IDvdGraphBuilder * This);
  25176.         
  25177.         ULONG ( STDMETHODCALLTYPE *Release )( 
  25178.             IDvdGraphBuilder * This);
  25179.         
  25180.         HRESULT ( STDMETHODCALLTYPE *GetFiltergraph )( 
  25181.             IDvdGraphBuilder * This,
  25182.             /* [out] */ IGraphBuilder **ppGB);
  25183.         
  25184.         HRESULT ( STDMETHODCALLTYPE *GetDvdInterface )( 
  25185.             IDvdGraphBuilder * This,
  25186.             /* [in] */ REFIID riid,
  25187.             /* [out] */ void **ppvIF);
  25188.         
  25189.         HRESULT ( STDMETHODCALLTYPE *RenderDvdVideoVolume )( 
  25190.             IDvdGraphBuilder * This,
  25191.             /* [in] */ LPCWSTR lpcwszPathName,
  25192.             /* [in] */ DWORD dwFlags,
  25193.             /* [out] */ AM_DVD_RENDERSTATUS *pStatus);
  25194.         
  25195.         END_INTERFACE
  25196.     } IDvdGraphBuilderVtbl;
  25197.  
  25198.     interface IDvdGraphBuilder
  25199.     {
  25200.         CONST_VTBL struct IDvdGraphBuilderVtbl *lpVtbl;
  25201.     };
  25202.  
  25203.     
  25204.  
  25205. #ifdef COBJMACROS
  25206.  
  25207.  
  25208. #define IDvdGraphBuilder_QueryInterface(This,riid,ppvObject)    \
  25209.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  25210.  
  25211. #define IDvdGraphBuilder_AddRef(This)    \
  25212.     (This)->lpVtbl -> AddRef(This)
  25213.  
  25214. #define IDvdGraphBuilder_Release(This)    \
  25215.     (This)->lpVtbl -> Release(This)
  25216.  
  25217.  
  25218. #define IDvdGraphBuilder_GetFiltergraph(This,ppGB)    \
  25219.     (This)->lpVtbl -> GetFiltergraph(This,ppGB)
  25220.  
  25221. #define IDvdGraphBuilder_GetDvdInterface(This,riid,ppvIF)    \
  25222.     (This)->lpVtbl -> GetDvdInterface(This,riid,ppvIF)
  25223.  
  25224. #define IDvdGraphBuilder_RenderDvdVideoVolume(This,lpcwszPathName,dwFlags,pStatus)    \
  25225.     (This)->lpVtbl -> RenderDvdVideoVolume(This,lpcwszPathName,dwFlags,pStatus)
  25226.  
  25227. #endif /* COBJMACROS */
  25228.  
  25229.  
  25230. #endif     /* C style interface */
  25231.  
  25232.  
  25233.  
  25234. HRESULT STDMETHODCALLTYPE IDvdGraphBuilder_GetFiltergraph_Proxy( 
  25235.     IDvdGraphBuilder * This,
  25236.     /* [out] */ IGraphBuilder **ppGB);
  25237.  
  25238.  
  25239. void __RPC_STUB IDvdGraphBuilder_GetFiltergraph_Stub(
  25240.     IRpcStubBuffer *This,
  25241.     IRpcChannelBuffer *_pRpcChannelBuffer,
  25242.     PRPC_MESSAGE _pRpcMessage,
  25243.     DWORD *_pdwStubPhase);
  25244.  
  25245.  
  25246. HRESULT STDMETHODCALLTYPE IDvdGraphBuilder_GetDvdInterface_Proxy( 
  25247.     IDvdGraphBuilder * This,
  25248.     /* [in] */ REFIID riid,
  25249.     /* [out] */ void **ppvIF);
  25250.  
  25251.  
  25252. void __RPC_STUB IDvdGraphBuilder_GetDvdInterface_Stub(
  25253.     IRpcStubBuffer *This,
  25254.     IRpcChannelBuffer *_pRpcChannelBuffer,
  25255.     PRPC_MESSAGE _pRpcMessage,
  25256.     DWORD *_pdwStubPhase);
  25257.  
  25258.  
  25259. HRESULT STDMETHODCALLTYPE IDvdGraphBuilder_RenderDvdVideoVolume_Proxy( 
  25260.     IDvdGraphBuilder * This,
  25261.     /* [in] */ LPCWSTR lpcwszPathName,
  25262.     /* [in] */ DWORD dwFlags,
  25263.     /* [out] */ AM_DVD_RENDERSTATUS *pStatus);
  25264.  
  25265.  
  25266. void __RPC_STUB IDvdGraphBuilder_RenderDvdVideoVolume_Stub(
  25267.     IRpcStubBuffer *This,
  25268.     IRpcChannelBuffer *_pRpcChannelBuffer,
  25269.     PRPC_MESSAGE _pRpcMessage,
  25270.     DWORD *_pdwStubPhase);
  25271.  
  25272.  
  25273.  
  25274. #endif     /* __IDvdGraphBuilder_INTERFACE_DEFINED__ */
  25275.  
  25276.  
  25277. #ifndef __IDDrawExclModeVideo_INTERFACE_DEFINED__
  25278. #define __IDDrawExclModeVideo_INTERFACE_DEFINED__
  25279.  
  25280. /* interface IDDrawExclModeVideo */
  25281. /* [unique][uuid][local][object] */ 
  25282.  
  25283.  
  25284. EXTERN_C const IID IID_IDDrawExclModeVideo;
  25285.  
  25286. #if defined(__cplusplus) && !defined(CINTERFACE)
  25287.     
  25288.     MIDL_INTERFACE("153ACC21-D83B-11d1-82BF-00A0C9696C8F")
  25289.     IDDrawExclModeVideo : public IUnknown
  25290.     {
  25291.     public:
  25292.         virtual HRESULT STDMETHODCALLTYPE SetDDrawObject( 
  25293.             /* [in] */ IDirectDraw *pDDrawObject) = 0;
  25294.         
  25295.         virtual HRESULT STDMETHODCALLTYPE GetDDrawObject( 
  25296.             /* [out] */ IDirectDraw **ppDDrawObject,
  25297.             /* [out] */ BOOL *pbUsingExternal) = 0;
  25298.         
  25299.         virtual HRESULT STDMETHODCALLTYPE SetDDrawSurface( 
  25300.             /* [in] */ IDirectDrawSurface *pDDrawSurface) = 0;
  25301.         
  25302.         virtual HRESULT STDMETHODCALLTYPE GetDDrawSurface( 
  25303.             /* [out] */ IDirectDrawSurface **ppDDrawSurface,
  25304.             /* [out] */ BOOL *pbUsingExternal) = 0;
  25305.         
  25306.         virtual HRESULT STDMETHODCALLTYPE SetDrawParameters( 
  25307.             /* [in] */ const RECT *prcSource,
  25308.             /* [in] */ const RECT *prcTarget) = 0;
  25309.         
  25310.         virtual HRESULT STDMETHODCALLTYPE GetNativeVideoProps( 
  25311.             /* [out] */ DWORD *pdwVideoWidth,
  25312.             /* [out] */ DWORD *pdwVideoHeight,
  25313.             /* [out] */ DWORD *pdwPictAspectRatioX,
  25314.             /* [out] */ DWORD *pdwPictAspectRatioY) = 0;
  25315.         
  25316.         virtual HRESULT STDMETHODCALLTYPE SetCallbackInterface( 
  25317.             /* [in] */ IDDrawExclModeVideoCallback *pCallback,
  25318.             /* [in] */ DWORD dwFlags) = 0;
  25319.         
  25320.     };
  25321.     
  25322. #else     /* C style interface */
  25323.  
  25324.     typedef struct IDDrawExclModeVideoVtbl
  25325.     {
  25326.         BEGIN_INTERFACE
  25327.         
  25328.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  25329.             IDDrawExclModeVideo * This,
  25330.             /* [in] */ REFIID riid,
  25331.             /* [iid_is][out] */ void **ppvObject);
  25332.         
  25333.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  25334.             IDDrawExclModeVideo * This);
  25335.         
  25336.         ULONG ( STDMETHODCALLTYPE *Release )( 
  25337.             IDDrawExclModeVideo * This);
  25338.         
  25339.         HRESULT ( STDMETHODCALLTYPE *SetDDrawObject )( 
  25340.             IDDrawExclModeVideo * This,
  25341.             /* [in] */ IDirectDraw *pDDrawObject);
  25342.         
  25343.         HRESULT ( STDMETHODCALLTYPE *GetDDrawObject )( 
  25344.             IDDrawExclModeVideo * This,
  25345.             /* [out] */ IDirectDraw **ppDDrawObject,
  25346.             /* [out] */ BOOL *pbUsingExternal);
  25347.         
  25348.         HRESULT ( STDMETHODCALLTYPE *SetDDrawSurface )( 
  25349.             IDDrawExclModeVideo * This,
  25350.             /* [in] */ IDirectDrawSurface *pDDrawSurface);
  25351.         
  25352.         HRESULT ( STDMETHODCALLTYPE *GetDDrawSurface )( 
  25353.             IDDrawExclModeVideo * This,
  25354.             /* [out] */ IDirectDrawSurface **ppDDrawSurface,
  25355.             /* [out] */ BOOL *pbUsingExternal);
  25356.         
  25357.         HRESULT ( STDMETHODCALLTYPE *SetDrawParameters )( 
  25358.             IDDrawExclModeVideo * This,
  25359.             /* [in] */ const RECT *prcSource,
  25360.             /* [in] */ const RECT *prcTarget);
  25361.         
  25362.         HRESULT ( STDMETHODCALLTYPE *GetNativeVideoProps )( 
  25363.             IDDrawExclModeVideo * This,
  25364.             /* [out] */ DWORD *pdwVideoWidth,
  25365.             /* [out] */ DWORD *pdwVideoHeight,
  25366.             /* [out] */ DWORD *pdwPictAspectRatioX,
  25367.             /* [out] */ DWORD *pdwPictAspectRatioY);
  25368.         
  25369.         HRESULT ( STDMETHODCALLTYPE *SetCallbackInterface )( 
  25370.             IDDrawExclModeVideo * This,
  25371.             /* [in] */ IDDrawExclModeVideoCallback *pCallback,
  25372.             /* [in] */ DWORD dwFlags);
  25373.         
  25374.         END_INTERFACE
  25375.     } IDDrawExclModeVideoVtbl;
  25376.  
  25377.     interface IDDrawExclModeVideo
  25378.     {
  25379.         CONST_VTBL struct IDDrawExclModeVideoVtbl *lpVtbl;
  25380.     };
  25381.  
  25382.     
  25383.  
  25384. #ifdef COBJMACROS
  25385.  
  25386.  
  25387. #define IDDrawExclModeVideo_QueryInterface(This,riid,ppvObject)    \
  25388.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  25389.  
  25390. #define IDDrawExclModeVideo_AddRef(This)    \
  25391.     (This)->lpVtbl -> AddRef(This)
  25392.  
  25393. #define IDDrawExclModeVideo_Release(This)    \
  25394.     (This)->lpVtbl -> Release(This)
  25395.  
  25396.  
  25397. #define IDDrawExclModeVideo_SetDDrawObject(This,pDDrawObject)    \
  25398.     (This)->lpVtbl -> SetDDrawObject(This,pDDrawObject)
  25399.  
  25400. #define IDDrawExclModeVideo_GetDDrawObject(This,ppDDrawObject,pbUsingExternal)    \
  25401.     (This)->lpVtbl -> GetDDrawObject(This,ppDDrawObject,pbUsingExternal)
  25402.  
  25403. #define IDDrawExclModeVideo_SetDDrawSurface(This,pDDrawSurface)    \
  25404.     (This)->lpVtbl -> SetDDrawSurface(This,pDDrawSurface)
  25405.  
  25406. #define IDDrawExclModeVideo_GetDDrawSurface(This,ppDDrawSurface,pbUsingExternal)    \
  25407.     (This)->lpVtbl -> GetDDrawSurface(This,ppDDrawSurface,pbUsingExternal)
  25408.  
  25409. #define IDDrawExclModeVideo_SetDrawParameters(This,prcSource,prcTarget)    \
  25410.     (This)->lpVtbl -> SetDrawParameters(This,prcSource,prcTarget)
  25411.  
  25412. #define IDDrawExclModeVideo_GetNativeVideoProps(This,pdwVideoWidth,pdwVideoHeight,pdwPictAspectRatioX,pdwPictAspectRatioY)    \
  25413.     (This)->lpVtbl -> GetNativeVideoProps(This,pdwVideoWidth,pdwVideoHeight,pdwPictAspectRatioX,pdwPictAspectRatioY)
  25414.  
  25415. #define IDDrawExclModeVideo_SetCallbackInterface(This,pCallback,dwFlags)    \
  25416.     (This)->lpVtbl -> SetCallbackInterface(This,pCallback,dwFlags)
  25417.  
  25418. #endif /* COBJMACROS */
  25419.  
  25420.  
  25421. #endif     /* C style interface */
  25422.  
  25423.  
  25424.  
  25425. HRESULT STDMETHODCALLTYPE IDDrawExclModeVideo_SetDDrawObject_Proxy( 
  25426.     IDDrawExclModeVideo * This,
  25427.     /* [in] */ IDirectDraw *pDDrawObject);
  25428.  
  25429.  
  25430. void __RPC_STUB IDDrawExclModeVideo_SetDDrawObject_Stub(
  25431.     IRpcStubBuffer *This,
  25432.     IRpcChannelBuffer *_pRpcChannelBuffer,
  25433.     PRPC_MESSAGE _pRpcMessage,
  25434.     DWORD *_pdwStubPhase);
  25435.  
  25436.  
  25437. HRESULT STDMETHODCALLTYPE IDDrawExclModeVideo_GetDDrawObject_Proxy( 
  25438.     IDDrawExclModeVideo * This,
  25439.     /* [out] */ IDirectDraw **ppDDrawObject,
  25440.     /* [out] */ BOOL *pbUsingExternal);
  25441.  
  25442.  
  25443. void __RPC_STUB IDDrawExclModeVideo_GetDDrawObject_Stub(
  25444.     IRpcStubBuffer *This,
  25445.     IRpcChannelBuffer *_pRpcChannelBuffer,
  25446.     PRPC_MESSAGE _pRpcMessage,
  25447.     DWORD *_pdwStubPhase);
  25448.  
  25449.  
  25450. HRESULT STDMETHODCALLTYPE IDDrawExclModeVideo_SetDDrawSurface_Proxy( 
  25451.     IDDrawExclModeVideo * This,
  25452.     /* [in] */ IDirectDrawSurface *pDDrawSurface);
  25453.  
  25454.  
  25455. void __RPC_STUB IDDrawExclModeVideo_SetDDrawSurface_Stub(
  25456.     IRpcStubBuffer *This,
  25457.     IRpcChannelBuffer *_pRpcChannelBuffer,
  25458.     PRPC_MESSAGE _pRpcMessage,
  25459.     DWORD *_pdwStubPhase);
  25460.  
  25461.  
  25462. HRESULT STDMETHODCALLTYPE IDDrawExclModeVideo_GetDDrawSurface_Proxy( 
  25463.     IDDrawExclModeVideo * This,
  25464.     /* [out] */ IDirectDrawSurface **ppDDrawSurface,
  25465.     /* [out] */ BOOL *pbUsingExternal);
  25466.  
  25467.  
  25468. void __RPC_STUB IDDrawExclModeVideo_GetDDrawSurface_Stub(
  25469.     IRpcStubBuffer *This,
  25470.     IRpcChannelBuffer *_pRpcChannelBuffer,
  25471.     PRPC_MESSAGE _pRpcMessage,
  25472.     DWORD *_pdwStubPhase);
  25473.  
  25474.  
  25475. HRESULT STDMETHODCALLTYPE IDDrawExclModeVideo_SetDrawParameters_Proxy( 
  25476.     IDDrawExclModeVideo * This,
  25477.     /* [in] */ const RECT *prcSource,
  25478.     /* [in] */ const RECT *prcTarget);
  25479.  
  25480.  
  25481. void __RPC_STUB IDDrawExclModeVideo_SetDrawParameters_Stub(
  25482.     IRpcStubBuffer *This,
  25483.     IRpcChannelBuffer *_pRpcChannelBuffer,
  25484.     PRPC_MESSAGE _pRpcMessage,
  25485.     DWORD *_pdwStubPhase);
  25486.  
  25487.  
  25488. HRESULT STDMETHODCALLTYPE IDDrawExclModeVideo_GetNativeVideoProps_Proxy( 
  25489.     IDDrawExclModeVideo * This,
  25490.     /* [out] */ DWORD *pdwVideoWidth,
  25491.     /* [out] */ DWORD *pdwVideoHeight,
  25492.     /* [out] */ DWORD *pdwPictAspectRatioX,
  25493.     /* [out] */ DWORD *pdwPictAspectRatioY);
  25494.  
  25495.  
  25496. void __RPC_STUB IDDrawExclModeVideo_GetNativeVideoProps_Stub(
  25497.     IRpcStubBuffer *This,
  25498.     IRpcChannelBuffer *_pRpcChannelBuffer,
  25499.     PRPC_MESSAGE _pRpcMessage,
  25500.     DWORD *_pdwStubPhase);
  25501.  
  25502.  
  25503. HRESULT STDMETHODCALLTYPE IDDrawExclModeVideo_SetCallbackInterface_Proxy( 
  25504.     IDDrawExclModeVideo * This,
  25505.     /* [in] */ IDDrawExclModeVideoCallback *pCallback,
  25506.     /* [in] */ DWORD dwFlags);
  25507.  
  25508.  
  25509. void __RPC_STUB IDDrawExclModeVideo_SetCallbackInterface_Stub(
  25510.     IRpcStubBuffer *This,
  25511.     IRpcChannelBuffer *_pRpcChannelBuffer,
  25512.     PRPC_MESSAGE _pRpcMessage,
  25513.     DWORD *_pdwStubPhase);
  25514.  
  25515.  
  25516.  
  25517. #endif     /* __IDDrawExclModeVideo_INTERFACE_DEFINED__ */
  25518.  
  25519.  
  25520. /* interface __MIDL_itf_strmif_0366 */
  25521. /* [local] */ 
  25522.  
  25523.  
  25524. enum _AM_OVERLAY_NOTIFY_FLAGS
  25525.     {    AM_OVERLAY_NOTIFY_VISIBLE_CHANGE    = 0x1,
  25526.     AM_OVERLAY_NOTIFY_SOURCE_CHANGE    = 0x2,
  25527.     AM_OVERLAY_NOTIFY_DEST_CHANGE    = 0x4
  25528.     } ;
  25529.  
  25530.  
  25531. extern RPC_IF_HANDLE __MIDL_itf_strmif_0366_v0_0_c_ifspec;
  25532. extern RPC_IF_HANDLE __MIDL_itf_strmif_0366_v0_0_s_ifspec;
  25533.  
  25534. #ifndef __IDDrawExclModeVideoCallback_INTERFACE_DEFINED__
  25535. #define __IDDrawExclModeVideoCallback_INTERFACE_DEFINED__
  25536.  
  25537. /* interface IDDrawExclModeVideoCallback */
  25538. /* [unique][uuid][local][object] */ 
  25539.  
  25540.  
  25541. EXTERN_C const IID IID_IDDrawExclModeVideoCallback;
  25542.  
  25543. #if defined(__cplusplus) && !defined(CINTERFACE)
  25544.     
  25545.     MIDL_INTERFACE("913c24a0-20ab-11d2-9038-00a0c9697298")
  25546.     IDDrawExclModeVideoCallback : public IUnknown
  25547.     {
  25548.     public:
  25549.         virtual HRESULT STDMETHODCALLTYPE OnUpdateOverlay( 
  25550.             /* [in] */ BOOL bBefore,
  25551.             /* [in] */ DWORD dwFlags,
  25552.             /* [in] */ BOOL bOldVisible,
  25553.             /* [in] */ const RECT *prcOldSrc,
  25554.             /* [in] */ const RECT *prcOldDest,
  25555.             /* [in] */ BOOL bNewVisible,
  25556.             /* [in] */ const RECT *prcNewSrc,
  25557.             /* [in] */ const RECT *prcNewDest) = 0;
  25558.         
  25559.         virtual HRESULT STDMETHODCALLTYPE OnUpdateColorKey( 
  25560.             /* [in] */ const COLORKEY *pKey,
  25561.             /* [in] */ DWORD dwColor) = 0;
  25562.         
  25563.         virtual HRESULT STDMETHODCALLTYPE OnUpdateSize( 
  25564.             /* [in] */ DWORD dwWidth,
  25565.             /* [in] */ DWORD dwHeight,
  25566.             /* [in] */ DWORD dwARWidth,
  25567.             /* [in] */ DWORD dwARHeight) = 0;
  25568.         
  25569.     };
  25570.     
  25571. #else     /* C style interface */
  25572.  
  25573.     typedef struct IDDrawExclModeVideoCallbackVtbl
  25574.     {
  25575.         BEGIN_INTERFACE
  25576.         
  25577.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  25578.             IDDrawExclModeVideoCallback * This,
  25579.             /* [in] */ REFIID riid,
  25580.             /* [iid_is][out] */ void **ppvObject);
  25581.         
  25582.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  25583.             IDDrawExclModeVideoCallback * This);
  25584.         
  25585.         ULONG ( STDMETHODCALLTYPE *Release )( 
  25586.             IDDrawExclModeVideoCallback * This);
  25587.         
  25588.         HRESULT ( STDMETHODCALLTYPE *OnUpdateOverlay )( 
  25589.             IDDrawExclModeVideoCallback * This,
  25590.             /* [in] */ BOOL bBefore,
  25591.             /* [in] */ DWORD dwFlags,
  25592.             /* [in] */ BOOL bOldVisible,
  25593.             /* [in] */ const RECT *prcOldSrc,
  25594.             /* [in] */ const RECT *prcOldDest,
  25595.             /* [in] */ BOOL bNewVisible,
  25596.             /* [in] */ const RECT *prcNewSrc,
  25597.             /* [in] */ const RECT *prcNewDest);
  25598.         
  25599.         HRESULT ( STDMETHODCALLTYPE *OnUpdateColorKey )( 
  25600.             IDDrawExclModeVideoCallback * This,
  25601.             /* [in] */ const COLORKEY *pKey,
  25602.             /* [in] */ DWORD dwColor);
  25603.         
  25604.         HRESULT ( STDMETHODCALLTYPE *OnUpdateSize )( 
  25605.             IDDrawExclModeVideoCallback * This,
  25606.             /* [in] */ DWORD dwWidth,
  25607.             /* [in] */ DWORD dwHeight,
  25608.             /* [in] */ DWORD dwARWidth,
  25609.             /* [in] */ DWORD dwARHeight);
  25610.         
  25611.         END_INTERFACE
  25612.     } IDDrawExclModeVideoCallbackVtbl;
  25613.  
  25614.     interface IDDrawExclModeVideoCallback
  25615.     {
  25616.         CONST_VTBL struct IDDrawExclModeVideoCallbackVtbl *lpVtbl;
  25617.     };
  25618.  
  25619.     
  25620.  
  25621. #ifdef COBJMACROS
  25622.  
  25623.  
  25624. #define IDDrawExclModeVideoCallback_QueryInterface(This,riid,ppvObject)    \
  25625.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  25626.  
  25627. #define IDDrawExclModeVideoCallback_AddRef(This)    \
  25628.     (This)->lpVtbl -> AddRef(This)
  25629.  
  25630. #define IDDrawExclModeVideoCallback_Release(This)    \
  25631.     (This)->lpVtbl -> Release(This)
  25632.  
  25633.  
  25634. #define IDDrawExclModeVideoCallback_OnUpdateOverlay(This,bBefore,dwFlags,bOldVisible,prcOldSrc,prcOldDest,bNewVisible,prcNewSrc,prcNewDest)    \
  25635.     (This)->lpVtbl -> OnUpdateOverlay(This,bBefore,dwFlags,bOldVisible,prcOldSrc,prcOldDest,bNewVisible,prcNewSrc,prcNewDest)
  25636.  
  25637. #define IDDrawExclModeVideoCallback_OnUpdateColorKey(This,pKey,dwColor)    \
  25638.     (This)->lpVtbl -> OnUpdateColorKey(This,pKey,dwColor)
  25639.  
  25640. #define IDDrawExclModeVideoCallback_OnUpdateSize(This,dwWidth,dwHeight,dwARWidth,dwARHeight)    \
  25641.     (This)->lpVtbl -> OnUpdateSize(This,dwWidth,dwHeight,dwARWidth,dwARHeight)
  25642.  
  25643. #endif /* COBJMACROS */
  25644.  
  25645.  
  25646. #endif     /* C style interface */
  25647.  
  25648.  
  25649.  
  25650. HRESULT STDMETHODCALLTYPE IDDrawExclModeVideoCallback_OnUpdateOverlay_Proxy( 
  25651.     IDDrawExclModeVideoCallback * This,
  25652.     /* [in] */ BOOL bBefore,
  25653.     /* [in] */ DWORD dwFlags,
  25654.     /* [in] */ BOOL bOldVisible,
  25655.     /* [in] */ const RECT *prcOldSrc,
  25656.     /* [in] */ const RECT *prcOldDest,
  25657.     /* [in] */ BOOL bNewVisible,
  25658.     /* [in] */ const RECT *prcNewSrc,
  25659.     /* [in] */ const RECT *prcNewDest);
  25660.  
  25661.  
  25662. void __RPC_STUB IDDrawExclModeVideoCallback_OnUpdateOverlay_Stub(
  25663.     IRpcStubBuffer *This,
  25664.     IRpcChannelBuffer *_pRpcChannelBuffer,
  25665.     PRPC_MESSAGE _pRpcMessage,
  25666.     DWORD *_pdwStubPhase);
  25667.  
  25668.  
  25669. HRESULT STDMETHODCALLTYPE IDDrawExclModeVideoCallback_OnUpdateColorKey_Proxy( 
  25670.     IDDrawExclModeVideoCallback * This,
  25671.     /* [in] */ const COLORKEY *pKey,
  25672.     /* [in] */ DWORD dwColor);
  25673.  
  25674.  
  25675. void __RPC_STUB IDDrawExclModeVideoCallback_OnUpdateColorKey_Stub(
  25676.     IRpcStubBuffer *This,
  25677.     IRpcChannelBuffer *_pRpcChannelBuffer,
  25678.     PRPC_MESSAGE _pRpcMessage,
  25679.     DWORD *_pdwStubPhase);
  25680.  
  25681.  
  25682. HRESULT STDMETHODCALLTYPE IDDrawExclModeVideoCallback_OnUpdateSize_Proxy( 
  25683.     IDDrawExclModeVideoCallback * This,
  25684.     /* [in] */ DWORD dwWidth,
  25685.     /* [in] */ DWORD dwHeight,
  25686.     /* [in] */ DWORD dwARWidth,
  25687.     /* [in] */ DWORD dwARHeight);
  25688.  
  25689.  
  25690. void __RPC_STUB IDDrawExclModeVideoCallback_OnUpdateSize_Stub(
  25691.     IRpcStubBuffer *This,
  25692.     IRpcChannelBuffer *_pRpcChannelBuffer,
  25693.     PRPC_MESSAGE _pRpcMessage,
  25694.     DWORD *_pdwStubPhase);
  25695.  
  25696.  
  25697.  
  25698. #endif     /* __IDDrawExclModeVideoCallback_INTERFACE_DEFINED__ */
  25699.  
  25700.  
  25701. /* interface __MIDL_itf_strmif_0367 */
  25702. /* [local] */ 
  25703.  
  25704.  
  25705.  
  25706.  
  25707.  
  25708.  
  25709.  
  25710. extern RPC_IF_HANDLE __MIDL_itf_strmif_0367_v0_0_c_ifspec;
  25711. extern RPC_IF_HANDLE __MIDL_itf_strmif_0367_v0_0_s_ifspec;
  25712.  
  25713. #ifndef __IPinConnection_INTERFACE_DEFINED__
  25714. #define __IPinConnection_INTERFACE_DEFINED__
  25715.  
  25716. /* interface IPinConnection */
  25717. /* [unique][uuid][object][local] */ 
  25718.  
  25719.  
  25720. EXTERN_C const IID IID_IPinConnection;
  25721.  
  25722. #if defined(__cplusplus) && !defined(CINTERFACE)
  25723.     
  25724.     MIDL_INTERFACE("4a9a62d3-27d4-403d-91e9-89f540e55534")
  25725.     IPinConnection : public IUnknown
  25726.     {
  25727.     public:
  25728.         virtual HRESULT STDMETHODCALLTYPE DynamicQueryAccept( 
  25729.             /* [in] */ const AM_MEDIA_TYPE *pmt) = 0;
  25730.         
  25731.         virtual HRESULT STDMETHODCALLTYPE NotifyEndOfStream( 
  25732.             /* [in] */ HANDLE hNotifyEvent) = 0;
  25733.         
  25734.         virtual HRESULT STDMETHODCALLTYPE IsEndPin( void) = 0;
  25735.         
  25736.         virtual HRESULT STDMETHODCALLTYPE DynamicDisconnect( void) = 0;
  25737.         
  25738.     };
  25739.     
  25740. #else     /* C style interface */
  25741.  
  25742.     typedef struct IPinConnectionVtbl
  25743.     {
  25744.         BEGIN_INTERFACE
  25745.         
  25746.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  25747.             IPinConnection * This,
  25748.             /* [in] */ REFIID riid,
  25749.             /* [iid_is][out] */ void **ppvObject);
  25750.         
  25751.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  25752.             IPinConnection * This);
  25753.         
  25754.         ULONG ( STDMETHODCALLTYPE *Release )( 
  25755.             IPinConnection * This);
  25756.         
  25757.         HRESULT ( STDMETHODCALLTYPE *DynamicQueryAccept )( 
  25758.             IPinConnection * This,
  25759.             /* [in] */ const AM_MEDIA_TYPE *pmt);
  25760.         
  25761.         HRESULT ( STDMETHODCALLTYPE *NotifyEndOfStream )( 
  25762.             IPinConnection * This,
  25763.             /* [in] */ HANDLE hNotifyEvent);
  25764.         
  25765.         HRESULT ( STDMETHODCALLTYPE *IsEndPin )( 
  25766.             IPinConnection * This);
  25767.         
  25768.         HRESULT ( STDMETHODCALLTYPE *DynamicDisconnect )( 
  25769.             IPinConnection * This);
  25770.         
  25771.         END_INTERFACE
  25772.     } IPinConnectionVtbl;
  25773.  
  25774.     interface IPinConnection
  25775.     {
  25776.         CONST_VTBL struct IPinConnectionVtbl *lpVtbl;
  25777.     };
  25778.  
  25779.     
  25780.  
  25781. #ifdef COBJMACROS
  25782.  
  25783.  
  25784. #define IPinConnection_QueryInterface(This,riid,ppvObject)    \
  25785.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  25786.  
  25787. #define IPinConnection_AddRef(This)    \
  25788.     (This)->lpVtbl -> AddRef(This)
  25789.  
  25790. #define IPinConnection_Release(This)    \
  25791.     (This)->lpVtbl -> Release(This)
  25792.  
  25793.  
  25794. #define IPinConnection_DynamicQueryAccept(This,pmt)    \
  25795.     (This)->lpVtbl -> DynamicQueryAccept(This,pmt)
  25796.  
  25797. #define IPinConnection_NotifyEndOfStream(This,hNotifyEvent)    \
  25798.     (This)->lpVtbl -> NotifyEndOfStream(This,hNotifyEvent)
  25799.  
  25800. #define IPinConnection_IsEndPin(This)    \
  25801.     (This)->lpVtbl -> IsEndPin(This)
  25802.  
  25803. #define IPinConnection_DynamicDisconnect(This)    \
  25804.     (This)->lpVtbl -> DynamicDisconnect(This)
  25805.  
  25806. #endif /* COBJMACROS */
  25807.  
  25808.  
  25809. #endif     /* C style interface */
  25810.  
  25811.  
  25812.  
  25813. HRESULT STDMETHODCALLTYPE IPinConnection_DynamicQueryAccept_Proxy( 
  25814.     IPinConnection * This,
  25815.     /* [in] */ const AM_MEDIA_TYPE *pmt);
  25816.  
  25817.  
  25818. void __RPC_STUB IPinConnection_DynamicQueryAccept_Stub(
  25819.     IRpcStubBuffer *This,
  25820.     IRpcChannelBuffer *_pRpcChannelBuffer,
  25821.     PRPC_MESSAGE _pRpcMessage,
  25822.     DWORD *_pdwStubPhase);
  25823.  
  25824.  
  25825. HRESULT STDMETHODCALLTYPE IPinConnection_NotifyEndOfStream_Proxy( 
  25826.     IPinConnection * This,
  25827.     /* [in] */ HANDLE hNotifyEvent);
  25828.  
  25829.  
  25830. void __RPC_STUB IPinConnection_NotifyEndOfStream_Stub(
  25831.     IRpcStubBuffer *This,
  25832.     IRpcChannelBuffer *_pRpcChannelBuffer,
  25833.     PRPC_MESSAGE _pRpcMessage,
  25834.     DWORD *_pdwStubPhase);
  25835.  
  25836.  
  25837. HRESULT STDMETHODCALLTYPE IPinConnection_IsEndPin_Proxy( 
  25838.     IPinConnection * This);
  25839.  
  25840.  
  25841. void __RPC_STUB IPinConnection_IsEndPin_Stub(
  25842.     IRpcStubBuffer *This,
  25843.     IRpcChannelBuffer *_pRpcChannelBuffer,
  25844.     PRPC_MESSAGE _pRpcMessage,
  25845.     DWORD *_pdwStubPhase);
  25846.  
  25847.  
  25848. HRESULT STDMETHODCALLTYPE IPinConnection_DynamicDisconnect_Proxy( 
  25849.     IPinConnection * This);
  25850.  
  25851.  
  25852. void __RPC_STUB IPinConnection_DynamicDisconnect_Stub(
  25853.     IRpcStubBuffer *This,
  25854.     IRpcChannelBuffer *_pRpcChannelBuffer,
  25855.     PRPC_MESSAGE _pRpcMessage,
  25856.     DWORD *_pdwStubPhase);
  25857.  
  25858.  
  25859.  
  25860. #endif     /* __IPinConnection_INTERFACE_DEFINED__ */
  25861.  
  25862.  
  25863. #ifndef __IPinFlowControl_INTERFACE_DEFINED__
  25864. #define __IPinFlowControl_INTERFACE_DEFINED__
  25865.  
  25866. /* interface IPinFlowControl */
  25867. /* [unique][uuid][object][local] */ 
  25868.  
  25869.  
  25870. EXTERN_C const IID IID_IPinFlowControl;
  25871.  
  25872. #if defined(__cplusplus) && !defined(CINTERFACE)
  25873.     
  25874.     MIDL_INTERFACE("c56e9858-dbf3-4f6b-8119-384af2060deb")
  25875.     IPinFlowControl : public IUnknown
  25876.     {
  25877.     public:
  25878.         virtual HRESULT STDMETHODCALLTYPE Block( 
  25879.             /* [in] */ DWORD dwBlockFlags,
  25880.             /* [in] */ HANDLE hEvent) = 0;
  25881.         
  25882.     };
  25883.     
  25884. #else     /* C style interface */
  25885.  
  25886.     typedef struct IPinFlowControlVtbl
  25887.     {
  25888.         BEGIN_INTERFACE
  25889.         
  25890.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  25891.             IPinFlowControl * This,
  25892.             /* [in] */ REFIID riid,
  25893.             /* [iid_is][out] */ void **ppvObject);
  25894.         
  25895.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  25896.             IPinFlowControl * This);
  25897.         
  25898.         ULONG ( STDMETHODCALLTYPE *Release )( 
  25899.             IPinFlowControl * This);
  25900.         
  25901.         HRESULT ( STDMETHODCALLTYPE *Block )( 
  25902.             IPinFlowControl * This,
  25903.             /* [in] */ DWORD dwBlockFlags,
  25904.             /* [in] */ HANDLE hEvent);
  25905.         
  25906.         END_INTERFACE
  25907.     } IPinFlowControlVtbl;
  25908.  
  25909.     interface IPinFlowControl
  25910.     {
  25911.         CONST_VTBL struct IPinFlowControlVtbl *lpVtbl;
  25912.     };
  25913.  
  25914.     
  25915.  
  25916. #ifdef COBJMACROS
  25917.  
  25918.  
  25919. #define IPinFlowControl_QueryInterface(This,riid,ppvObject)    \
  25920.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  25921.  
  25922. #define IPinFlowControl_AddRef(This)    \
  25923.     (This)->lpVtbl -> AddRef(This)
  25924.  
  25925. #define IPinFlowControl_Release(This)    \
  25926.     (This)->lpVtbl -> Release(This)
  25927.  
  25928.  
  25929. #define IPinFlowControl_Block(This,dwBlockFlags,hEvent)    \
  25930.     (This)->lpVtbl -> Block(This,dwBlockFlags,hEvent)
  25931.  
  25932. #endif /* COBJMACROS */
  25933.  
  25934.  
  25935. #endif     /* C style interface */
  25936.  
  25937.  
  25938.  
  25939. HRESULT STDMETHODCALLTYPE IPinFlowControl_Block_Proxy( 
  25940.     IPinFlowControl * This,
  25941.     /* [in] */ DWORD dwBlockFlags,
  25942.     /* [in] */ HANDLE hEvent);
  25943.  
  25944.  
  25945. void __RPC_STUB IPinFlowControl_Block_Stub(
  25946.     IRpcStubBuffer *This,
  25947.     IRpcChannelBuffer *_pRpcChannelBuffer,
  25948.     PRPC_MESSAGE _pRpcMessage,
  25949.     DWORD *_pdwStubPhase);
  25950.  
  25951.  
  25952.  
  25953. #endif     /* __IPinFlowControl_INTERFACE_DEFINED__ */
  25954.  
  25955.  
  25956. /* interface __MIDL_itf_strmif_0369 */
  25957. /* [local] */ 
  25958.  
  25959.  
  25960. enum _AM_PIN_FLOW_CONTROL_BLOCK_FLAGS
  25961.     {    AM_PIN_FLOW_CONTROL_BLOCK    = 0x1
  25962.     } ;
  25963. typedef 
  25964. enum _AM_GRAPH_CONFIG_RECONNECT_FLAGS
  25965.     {    AM_GRAPH_CONFIG_RECONNECT_DIRECTCONNECT    = 0x1,
  25966.     AM_GRAPH_CONFIG_RECONNECT_CACHE_REMOVED_FILTERS    = 0x2,
  25967.     AM_GRAPH_CONFIG_RECONNECT_USE_ONLY_CACHED_FILTERS    = 0x4
  25968.     }     AM_GRAPH_CONFIG_RECONNECT_FLAGS;
  25969.  
  25970.  
  25971. enum _REM_FILTER_FLAGS
  25972.     {    REMFILTERF_LEAVECONNECTED    = 0x1
  25973.     } ;
  25974. typedef 
  25975. enum _AM_FILTER_FLAGS
  25976.     {    AM_FILTER_FLAGS_REMOVABLE    = 0x1
  25977.     }     AM_FILTER_FLAGS;
  25978.  
  25979.  
  25980.  
  25981. extern RPC_IF_HANDLE __MIDL_itf_strmif_0369_v0_0_c_ifspec;
  25982. extern RPC_IF_HANDLE __MIDL_itf_strmif_0369_v0_0_s_ifspec;
  25983.  
  25984. #ifndef __IGraphConfig_INTERFACE_DEFINED__
  25985. #define __IGraphConfig_INTERFACE_DEFINED__
  25986.  
  25987. /* interface IGraphConfig */
  25988. /* [unique][uuid][object][local] */ 
  25989.  
  25990.  
  25991. EXTERN_C const IID IID_IGraphConfig;
  25992.  
  25993. #if defined(__cplusplus) && !defined(CINTERFACE)
  25994.     
  25995.     MIDL_INTERFACE("03A1EB8E-32BF-4245-8502-114D08A9CB88")
  25996.     IGraphConfig : public IUnknown
  25997.     {
  25998.     public:
  25999.         virtual HRESULT STDMETHODCALLTYPE Reconnect( 
  26000.             /* [in] */ IPin *pOutputPin,
  26001.             /* [in] */ IPin *pInputPin,
  26002.             /* [in] */ const AM_MEDIA_TYPE *pmtFirstConnection,
  26003.             /* [in] */ IBaseFilter *pUsingFilter,
  26004.             /* [in] */ HANDLE hAbortEvent,
  26005.             /* [in] */ DWORD dwFlags) = 0;
  26006.         
  26007.         virtual HRESULT STDMETHODCALLTYPE Reconfigure( 
  26008.             /* [in] */ IGraphConfigCallback *pCallback,
  26009.             /* [in] */ PVOID pvContext,
  26010.             /* [in] */ DWORD dwFlags,
  26011.             /* [in] */ HANDLE hAbortEvent) = 0;
  26012.         
  26013.         virtual HRESULT STDMETHODCALLTYPE AddFilterToCache( 
  26014.             /* [in] */ IBaseFilter *pFilter) = 0;
  26015.         
  26016.         virtual HRESULT STDMETHODCALLTYPE EnumCacheFilter( 
  26017.             /* [out] */ IEnumFilters **pEnum) = 0;
  26018.         
  26019.         virtual HRESULT STDMETHODCALLTYPE RemoveFilterFromCache( 
  26020.             /* [in] */ IBaseFilter *pFilter) = 0;
  26021.         
  26022.         virtual HRESULT STDMETHODCALLTYPE GetStartTime( 
  26023.             /* [out] */ REFERENCE_TIME *prtStart) = 0;
  26024.         
  26025.         virtual HRESULT STDMETHODCALLTYPE PushThroughData( 
  26026.             /* [in] */ IPin *pOutputPin,
  26027.             /* [in] */ IPinConnection *pConnection,
  26028.             /* [in] */ HANDLE hEventAbort) = 0;
  26029.         
  26030.         virtual HRESULT STDMETHODCALLTYPE SetFilterFlags( 
  26031.             /* [in] */ IBaseFilter *pFilter,
  26032.             /* [in] */ DWORD dwFlags) = 0;
  26033.         
  26034.         virtual HRESULT STDMETHODCALLTYPE GetFilterFlags( 
  26035.             /* [in] */ IBaseFilter *pFilter,
  26036.             /* [out] */ DWORD *pdwFlags) = 0;
  26037.         
  26038.         virtual HRESULT STDMETHODCALLTYPE RemoveFilterEx( 
  26039.             /* [in] */ IBaseFilter *pFilter,
  26040.             DWORD Flags) = 0;
  26041.         
  26042.     };
  26043.     
  26044. #else     /* C style interface */
  26045.  
  26046.     typedef struct IGraphConfigVtbl
  26047.     {
  26048.         BEGIN_INTERFACE
  26049.         
  26050.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  26051.             IGraphConfig * This,
  26052.             /* [in] */ REFIID riid,
  26053.             /* [iid_is][out] */ void **ppvObject);
  26054.         
  26055.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  26056.             IGraphConfig * This);
  26057.         
  26058.         ULONG ( STDMETHODCALLTYPE *Release )( 
  26059.             IGraphConfig * This);
  26060.         
  26061.         HRESULT ( STDMETHODCALLTYPE *Reconnect )( 
  26062.             IGraphConfig * This,
  26063.             /* [in] */ IPin *pOutputPin,
  26064.             /* [in] */ IPin *pInputPin,
  26065.             /* [in] */ const AM_MEDIA_TYPE *pmtFirstConnection,
  26066.             /* [in] */ IBaseFilter *pUsingFilter,
  26067.             /* [in] */ HANDLE hAbortEvent,
  26068.             /* [in] */ DWORD dwFlags);
  26069.         
  26070.         HRESULT ( STDMETHODCALLTYPE *Reconfigure )( 
  26071.             IGraphConfig * This,
  26072.             /* [in] */ IGraphConfigCallback *pCallback,
  26073.             /* [in] */ PVOID pvContext,
  26074.             /* [in] */ DWORD dwFlags,
  26075.             /* [in] */ HANDLE hAbortEvent);
  26076.         
  26077.         HRESULT ( STDMETHODCALLTYPE *AddFilterToCache )( 
  26078.             IGraphConfig * This,
  26079.             /* [in] */ IBaseFilter *pFilter);
  26080.         
  26081.         HRESULT ( STDMETHODCALLTYPE *EnumCacheFilter )( 
  26082.             IGraphConfig * This,
  26083.             /* [out] */ IEnumFilters **pEnum);
  26084.         
  26085.         HRESULT ( STDMETHODCALLTYPE *RemoveFilterFromCache )( 
  26086.             IGraphConfig * This,
  26087.             /* [in] */ IBaseFilter *pFilter);
  26088.         
  26089.         HRESULT ( STDMETHODCALLTYPE *GetStartTime )( 
  26090.             IGraphConfig * This,
  26091.             /* [out] */ REFERENCE_TIME *prtStart);
  26092.         
  26093.         HRESULT ( STDMETHODCALLTYPE *PushThroughData )( 
  26094.             IGraphConfig * This,
  26095.             /* [in] */ IPin *pOutputPin,
  26096.             /* [in] */ IPinConnection *pConnection,
  26097.             /* [in] */ HANDLE hEventAbort);
  26098.         
  26099.         HRESULT ( STDMETHODCALLTYPE *SetFilterFlags )( 
  26100.             IGraphConfig * This,
  26101.             /* [in] */ IBaseFilter *pFilter,
  26102.             /* [in] */ DWORD dwFlags);
  26103.         
  26104.         HRESULT ( STDMETHODCALLTYPE *GetFilterFlags )( 
  26105.             IGraphConfig * This,
  26106.             /* [in] */ IBaseFilter *pFilter,
  26107.             /* [out] */ DWORD *pdwFlags);
  26108.         
  26109.         HRESULT ( STDMETHODCALLTYPE *RemoveFilterEx )( 
  26110.             IGraphConfig * This,
  26111.             /* [in] */ IBaseFilter *pFilter,
  26112.             DWORD Flags);
  26113.         
  26114.         END_INTERFACE
  26115.     } IGraphConfigVtbl;
  26116.  
  26117.     interface IGraphConfig
  26118.     {
  26119.         CONST_VTBL struct IGraphConfigVtbl *lpVtbl;
  26120.     };
  26121.  
  26122.     
  26123.  
  26124. #ifdef COBJMACROS
  26125.  
  26126.  
  26127. #define IGraphConfig_QueryInterface(This,riid,ppvObject)    \
  26128.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  26129.  
  26130. #define IGraphConfig_AddRef(This)    \
  26131.     (This)->lpVtbl -> AddRef(This)
  26132.  
  26133. #define IGraphConfig_Release(This)    \
  26134.     (This)->lpVtbl -> Release(This)
  26135.  
  26136.  
  26137. #define IGraphConfig_Reconnect(This,pOutputPin,pInputPin,pmtFirstConnection,pUsingFilter,hAbortEvent,dwFlags)    \
  26138.     (This)->lpVtbl -> Reconnect(This,pOutputPin,pInputPin,pmtFirstConnection,pUsingFilter,hAbortEvent,dwFlags)
  26139.  
  26140. #define IGraphConfig_Reconfigure(This,pCallback,pvContext,dwFlags,hAbortEvent)    \
  26141.     (This)->lpVtbl -> Reconfigure(This,pCallback,pvContext,dwFlags,hAbortEvent)
  26142.  
  26143. #define IGraphConfig_AddFilterToCache(This,pFilter)    \
  26144.     (This)->lpVtbl -> AddFilterToCache(This,pFilter)
  26145.  
  26146. #define IGraphConfig_EnumCacheFilter(This,pEnum)    \
  26147.     (This)->lpVtbl -> EnumCacheFilter(This,pEnum)
  26148.  
  26149. #define IGraphConfig_RemoveFilterFromCache(This,pFilter)    \
  26150.     (This)->lpVtbl -> RemoveFilterFromCache(This,pFilter)
  26151.  
  26152. #define IGraphConfig_GetStartTime(This,prtStart)    \
  26153.     (This)->lpVtbl -> GetStartTime(This,prtStart)
  26154.  
  26155. #define IGraphConfig_PushThroughData(This,pOutputPin,pConnection,hEventAbort)    \
  26156.     (This)->lpVtbl -> PushThroughData(This,pOutputPin,pConnection,hEventAbort)
  26157.  
  26158. #define IGraphConfig_SetFilterFlags(This,pFilter,dwFlags)    \
  26159.     (This)->lpVtbl -> SetFilterFlags(This,pFilter,dwFlags)
  26160.  
  26161. #define IGraphConfig_GetFilterFlags(This,pFilter,pdwFlags)    \
  26162.     (This)->lpVtbl -> GetFilterFlags(This,pFilter,pdwFlags)
  26163.  
  26164. #define IGraphConfig_RemoveFilterEx(This,pFilter,Flags)    \
  26165.     (This)->lpVtbl -> RemoveFilterEx(This,pFilter,Flags)
  26166.  
  26167. #endif /* COBJMACROS */
  26168.  
  26169.  
  26170. #endif     /* C style interface */
  26171.  
  26172.  
  26173.  
  26174. HRESULT STDMETHODCALLTYPE IGraphConfig_Reconnect_Proxy( 
  26175.     IGraphConfig * This,
  26176.     /* [in] */ IPin *pOutputPin,
  26177.     /* [in] */ IPin *pInputPin,
  26178.     /* [in] */ const AM_MEDIA_TYPE *pmtFirstConnection,
  26179.     /* [in] */ IBaseFilter *pUsingFilter,
  26180.     /* [in] */ HANDLE hAbortEvent,
  26181.     /* [in] */ DWORD dwFlags);
  26182.  
  26183.  
  26184. void __RPC_STUB IGraphConfig_Reconnect_Stub(
  26185.     IRpcStubBuffer *This,
  26186.     IRpcChannelBuffer *_pRpcChannelBuffer,
  26187.     PRPC_MESSAGE _pRpcMessage,
  26188.     DWORD *_pdwStubPhase);
  26189.  
  26190.  
  26191. HRESULT STDMETHODCALLTYPE IGraphConfig_Reconfigure_Proxy( 
  26192.     IGraphConfig * This,
  26193.     /* [in] */ IGraphConfigCallback *pCallback,
  26194.     /* [in] */ PVOID pvContext,
  26195.     /* [in] */ DWORD dwFlags,
  26196.     /* [in] */ HANDLE hAbortEvent);
  26197.  
  26198.  
  26199. void __RPC_STUB IGraphConfig_Reconfigure_Stub(
  26200.     IRpcStubBuffer *This,
  26201.     IRpcChannelBuffer *_pRpcChannelBuffer,
  26202.     PRPC_MESSAGE _pRpcMessage,
  26203.     DWORD *_pdwStubPhase);
  26204.  
  26205.  
  26206. HRESULT STDMETHODCALLTYPE IGraphConfig_AddFilterToCache_Proxy( 
  26207.     IGraphConfig * This,
  26208.     /* [in] */ IBaseFilter *pFilter);
  26209.  
  26210.  
  26211. void __RPC_STUB IGraphConfig_AddFilterToCache_Stub(
  26212.     IRpcStubBuffer *This,
  26213.     IRpcChannelBuffer *_pRpcChannelBuffer,
  26214.     PRPC_MESSAGE _pRpcMessage,
  26215.     DWORD *_pdwStubPhase);
  26216.  
  26217.  
  26218. HRESULT STDMETHODCALLTYPE IGraphConfig_EnumCacheFilter_Proxy( 
  26219.     IGraphConfig * This,
  26220.     /* [out] */ IEnumFilters **pEnum);
  26221.  
  26222.  
  26223. void __RPC_STUB IGraphConfig_EnumCacheFilter_Stub(
  26224.     IRpcStubBuffer *This,
  26225.     IRpcChannelBuffer *_pRpcChannelBuffer,
  26226.     PRPC_MESSAGE _pRpcMessage,
  26227.     DWORD *_pdwStubPhase);
  26228.  
  26229.  
  26230. HRESULT STDMETHODCALLTYPE IGraphConfig_RemoveFilterFromCache_Proxy( 
  26231.     IGraphConfig * This,
  26232.     /* [in] */ IBaseFilter *pFilter);
  26233.  
  26234.  
  26235. void __RPC_STUB IGraphConfig_RemoveFilterFromCache_Stub(
  26236.     IRpcStubBuffer *This,
  26237.     IRpcChannelBuffer *_pRpcChannelBuffer,
  26238.     PRPC_MESSAGE _pRpcMessage,
  26239.     DWORD *_pdwStubPhase);
  26240.  
  26241.  
  26242. HRESULT STDMETHODCALLTYPE IGraphConfig_GetStartTime_Proxy( 
  26243.     IGraphConfig * This,
  26244.     /* [out] */ REFERENCE_TIME *prtStart);
  26245.  
  26246.  
  26247. void __RPC_STUB IGraphConfig_GetStartTime_Stub(
  26248.     IRpcStubBuffer *This,
  26249.     IRpcChannelBuffer *_pRpcChannelBuffer,
  26250.     PRPC_MESSAGE _pRpcMessage,
  26251.     DWORD *_pdwStubPhase);
  26252.  
  26253.  
  26254. HRESULT STDMETHODCALLTYPE IGraphConfig_PushThroughData_Proxy( 
  26255.     IGraphConfig * This,
  26256.     /* [in] */ IPin *pOutputPin,
  26257.     /* [in] */ IPinConnection *pConnection,
  26258.     /* [in] */ HANDLE hEventAbort);
  26259.  
  26260.  
  26261. void __RPC_STUB IGraphConfig_PushThroughData_Stub(
  26262.     IRpcStubBuffer *This,
  26263.     IRpcChannelBuffer *_pRpcChannelBuffer,
  26264.     PRPC_MESSAGE _pRpcMessage,
  26265.     DWORD *_pdwStubPhase);
  26266.  
  26267.  
  26268. HRESULT STDMETHODCALLTYPE IGraphConfig_SetFilterFlags_Proxy( 
  26269.     IGraphConfig * This,
  26270.     /* [in] */ IBaseFilter *pFilter,
  26271.     /* [in] */ DWORD dwFlags);
  26272.  
  26273.  
  26274. void __RPC_STUB IGraphConfig_SetFilterFlags_Stub(
  26275.     IRpcStubBuffer *This,
  26276.     IRpcChannelBuffer *_pRpcChannelBuffer,
  26277.     PRPC_MESSAGE _pRpcMessage,
  26278.     DWORD *_pdwStubPhase);
  26279.  
  26280.  
  26281. HRESULT STDMETHODCALLTYPE IGraphConfig_GetFilterFlags_Proxy( 
  26282.     IGraphConfig * This,
  26283.     /* [in] */ IBaseFilter *pFilter,
  26284.     /* [out] */ DWORD *pdwFlags);
  26285.  
  26286.  
  26287. void __RPC_STUB IGraphConfig_GetFilterFlags_Stub(
  26288.     IRpcStubBuffer *This,
  26289.     IRpcChannelBuffer *_pRpcChannelBuffer,
  26290.     PRPC_MESSAGE _pRpcMessage,
  26291.     DWORD *_pdwStubPhase);
  26292.  
  26293.  
  26294. HRESULT STDMETHODCALLTYPE IGraphConfig_RemoveFilterEx_Proxy( 
  26295.     IGraphConfig * This,
  26296.     /* [in] */ IBaseFilter *pFilter,
  26297.     DWORD Flags);
  26298.  
  26299.  
  26300. void __RPC_STUB IGraphConfig_RemoveFilterEx_Stub(
  26301.     IRpcStubBuffer *This,
  26302.     IRpcChannelBuffer *_pRpcChannelBuffer,
  26303.     PRPC_MESSAGE _pRpcMessage,
  26304.     DWORD *_pdwStubPhase);
  26305.  
  26306.  
  26307.  
  26308. #endif     /* __IGraphConfig_INTERFACE_DEFINED__ */
  26309.  
  26310.  
  26311. #ifndef __IGraphConfigCallback_INTERFACE_DEFINED__
  26312. #define __IGraphConfigCallback_INTERFACE_DEFINED__
  26313.  
  26314. /* interface IGraphConfigCallback */
  26315. /* [unique][uuid][object][local] */ 
  26316.  
  26317.  
  26318. EXTERN_C const IID IID_IGraphConfigCallback;
  26319.  
  26320. #if defined(__cplusplus) && !defined(CINTERFACE)
  26321.     
  26322.     MIDL_INTERFACE("ade0fd60-d19d-11d2-abf6-00a0c905f375")
  26323.     IGraphConfigCallback : public IUnknown
  26324.     {
  26325.     public:
  26326.         virtual HRESULT STDMETHODCALLTYPE Reconfigure( 
  26327.             PVOID pvContext,
  26328.             DWORD dwFlags) = 0;
  26329.         
  26330.     };
  26331.     
  26332. #else     /* C style interface */
  26333.  
  26334.     typedef struct IGraphConfigCallbackVtbl
  26335.     {
  26336.         BEGIN_INTERFACE
  26337.         
  26338.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  26339.             IGraphConfigCallback * This,
  26340.             /* [in] */ REFIID riid,
  26341.             /* [iid_is][out] */ void **ppvObject);
  26342.         
  26343.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  26344.             IGraphConfigCallback * This);
  26345.         
  26346.         ULONG ( STDMETHODCALLTYPE *Release )( 
  26347.             IGraphConfigCallback * This);
  26348.         
  26349.         HRESULT ( STDMETHODCALLTYPE *Reconfigure )( 
  26350.             IGraphConfigCallback * This,
  26351.             PVOID pvContext,
  26352.             DWORD dwFlags);
  26353.         
  26354.         END_INTERFACE
  26355.     } IGraphConfigCallbackVtbl;
  26356.  
  26357.     interface IGraphConfigCallback
  26358.     {
  26359.         CONST_VTBL struct IGraphConfigCallbackVtbl *lpVtbl;
  26360.     };
  26361.  
  26362.     
  26363.  
  26364. #ifdef COBJMACROS
  26365.  
  26366.  
  26367. #define IGraphConfigCallback_QueryInterface(This,riid,ppvObject)    \
  26368.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  26369.  
  26370. #define IGraphConfigCallback_AddRef(This)    \
  26371.     (This)->lpVtbl -> AddRef(This)
  26372.  
  26373. #define IGraphConfigCallback_Release(This)    \
  26374.     (This)->lpVtbl -> Release(This)
  26375.  
  26376.  
  26377. #define IGraphConfigCallback_Reconfigure(This,pvContext,dwFlags)    \
  26378.     (This)->lpVtbl -> Reconfigure(This,pvContext,dwFlags)
  26379.  
  26380. #endif /* COBJMACROS */
  26381.  
  26382.  
  26383. #endif     /* C style interface */
  26384.  
  26385.  
  26386.  
  26387. HRESULT STDMETHODCALLTYPE IGraphConfigCallback_Reconfigure_Proxy( 
  26388.     IGraphConfigCallback * This,
  26389.     PVOID pvContext,
  26390.     DWORD dwFlags);
  26391.  
  26392.  
  26393. void __RPC_STUB IGraphConfigCallback_Reconfigure_Stub(
  26394.     IRpcStubBuffer *This,
  26395.     IRpcChannelBuffer *_pRpcChannelBuffer,
  26396.     PRPC_MESSAGE _pRpcMessage,
  26397.     DWORD *_pdwStubPhase);
  26398.  
  26399.  
  26400.  
  26401. #endif     /* __IGraphConfigCallback_INTERFACE_DEFINED__ */
  26402.  
  26403.  
  26404. #ifndef __IFilterChain_INTERFACE_DEFINED__
  26405. #define __IFilterChain_INTERFACE_DEFINED__
  26406.  
  26407. /* interface IFilterChain */
  26408. /* [unique][uuid][object][local] */ 
  26409.  
  26410.  
  26411. EXTERN_C const IID IID_IFilterChain;
  26412.  
  26413. #if defined(__cplusplus) && !defined(CINTERFACE)
  26414.     
  26415.     MIDL_INTERFACE("DCFBDCF6-0DC2-45f5-9AB2-7C330EA09C29")
  26416.     IFilterChain : public IUnknown
  26417.     {
  26418.     public:
  26419.         virtual HRESULT STDMETHODCALLTYPE StartChain( 
  26420.             /* [in] */ IBaseFilter *pStartFilter,
  26421.             /* [in] */ IBaseFilter *pEndFilter) = 0;
  26422.         
  26423.         virtual HRESULT STDMETHODCALLTYPE PauseChain( 
  26424.             /* [in] */ IBaseFilter *pStartFilter,
  26425.             /* [in] */ IBaseFilter *pEndFilter) = 0;
  26426.         
  26427.         virtual HRESULT STDMETHODCALLTYPE StopChain( 
  26428.             /* [in] */ IBaseFilter *pStartFilter,
  26429.             /* [in] */ IBaseFilter *pEndFilter) = 0;
  26430.         
  26431.         virtual HRESULT STDMETHODCALLTYPE RemoveChain( 
  26432.             /* [in] */ IBaseFilter *pStartFilter,
  26433.             /* [in] */ IBaseFilter *pEndFilter) = 0;
  26434.         
  26435.     };
  26436.     
  26437. #else     /* C style interface */
  26438.  
  26439.     typedef struct IFilterChainVtbl
  26440.     {
  26441.         BEGIN_INTERFACE
  26442.         
  26443.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  26444.             IFilterChain * This,
  26445.             /* [in] */ REFIID riid,
  26446.             /* [iid_is][out] */ void **ppvObject);
  26447.         
  26448.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  26449.             IFilterChain * This);
  26450.         
  26451.         ULONG ( STDMETHODCALLTYPE *Release )( 
  26452.             IFilterChain * This);
  26453.         
  26454.         HRESULT ( STDMETHODCALLTYPE *StartChain )( 
  26455.             IFilterChain * This,
  26456.             /* [in] */ IBaseFilter *pStartFilter,
  26457.             /* [in] */ IBaseFilter *pEndFilter);
  26458.         
  26459.         HRESULT ( STDMETHODCALLTYPE *PauseChain )( 
  26460.             IFilterChain * This,
  26461.             /* [in] */ IBaseFilter *pStartFilter,
  26462.             /* [in] */ IBaseFilter *pEndFilter);
  26463.         
  26464.         HRESULT ( STDMETHODCALLTYPE *StopChain )( 
  26465.             IFilterChain * This,
  26466.             /* [in] */ IBaseFilter *pStartFilter,
  26467.             /* [in] */ IBaseFilter *pEndFilter);
  26468.         
  26469.         HRESULT ( STDMETHODCALLTYPE *RemoveChain )( 
  26470.             IFilterChain * This,
  26471.             /* [in] */ IBaseFilter *pStartFilter,
  26472.             /* [in] */ IBaseFilter *pEndFilter);
  26473.         
  26474.         END_INTERFACE
  26475.     } IFilterChainVtbl;
  26476.  
  26477.     interface IFilterChain
  26478.     {
  26479.         CONST_VTBL struct IFilterChainVtbl *lpVtbl;
  26480.     };
  26481.  
  26482.     
  26483.  
  26484. #ifdef COBJMACROS
  26485.  
  26486.  
  26487. #define IFilterChain_QueryInterface(This,riid,ppvObject)    \
  26488.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  26489.  
  26490. #define IFilterChain_AddRef(This)    \
  26491.     (This)->lpVtbl -> AddRef(This)
  26492.  
  26493. #define IFilterChain_Release(This)    \
  26494.     (This)->lpVtbl -> Release(This)
  26495.  
  26496.  
  26497. #define IFilterChain_StartChain(This,pStartFilter,pEndFilter)    \
  26498.     (This)->lpVtbl -> StartChain(This,pStartFilter,pEndFilter)
  26499.  
  26500. #define IFilterChain_PauseChain(This,pStartFilter,pEndFilter)    \
  26501.     (This)->lpVtbl -> PauseChain(This,pStartFilter,pEndFilter)
  26502.  
  26503. #define IFilterChain_StopChain(This,pStartFilter,pEndFilter)    \
  26504.     (This)->lpVtbl -> StopChain(This,pStartFilter,pEndFilter)
  26505.  
  26506. #define IFilterChain_RemoveChain(This,pStartFilter,pEndFilter)    \
  26507.     (This)->lpVtbl -> RemoveChain(This,pStartFilter,pEndFilter)
  26508.  
  26509. #endif /* COBJMACROS */
  26510.  
  26511.  
  26512. #endif     /* C style interface */
  26513.  
  26514.  
  26515.  
  26516. HRESULT STDMETHODCALLTYPE IFilterChain_StartChain_Proxy( 
  26517.     IFilterChain * This,
  26518.     /* [in] */ IBaseFilter *pStartFilter,
  26519.     /* [in] */ IBaseFilter *pEndFilter);
  26520.  
  26521.  
  26522. void __RPC_STUB IFilterChain_StartChain_Stub(
  26523.     IRpcStubBuffer *This,
  26524.     IRpcChannelBuffer *_pRpcChannelBuffer,
  26525.     PRPC_MESSAGE _pRpcMessage,
  26526.     DWORD *_pdwStubPhase);
  26527.  
  26528.  
  26529. HRESULT STDMETHODCALLTYPE IFilterChain_PauseChain_Proxy( 
  26530.     IFilterChain * This,
  26531.     /* [in] */ IBaseFilter *pStartFilter,
  26532.     /* [in] */ IBaseFilter *pEndFilter);
  26533.  
  26534.  
  26535. void __RPC_STUB IFilterChain_PauseChain_Stub(
  26536.     IRpcStubBuffer *This,
  26537.     IRpcChannelBuffer *_pRpcChannelBuffer,
  26538.     PRPC_MESSAGE _pRpcMessage,
  26539.     DWORD *_pdwStubPhase);
  26540.  
  26541.  
  26542. HRESULT STDMETHODCALLTYPE IFilterChain_StopChain_Proxy( 
  26543.     IFilterChain * This,
  26544.     /* [in] */ IBaseFilter *pStartFilter,
  26545.     /* [in] */ IBaseFilter *pEndFilter);
  26546.  
  26547.  
  26548. void __RPC_STUB IFilterChain_StopChain_Stub(
  26549.     IRpcStubBuffer *This,
  26550.     IRpcChannelBuffer *_pRpcChannelBuffer,
  26551.     PRPC_MESSAGE _pRpcMessage,
  26552.     DWORD *_pdwStubPhase);
  26553.  
  26554.  
  26555. HRESULT STDMETHODCALLTYPE IFilterChain_RemoveChain_Proxy( 
  26556.     IFilterChain * This,
  26557.     /* [in] */ IBaseFilter *pStartFilter,
  26558.     /* [in] */ IBaseFilter *pEndFilter);
  26559.  
  26560.  
  26561. void __RPC_STUB IFilterChain_RemoveChain_Stub(
  26562.     IRpcStubBuffer *This,
  26563.     IRpcChannelBuffer *_pRpcChannelBuffer,
  26564.     PRPC_MESSAGE _pRpcMessage,
  26565.     DWORD *_pdwStubPhase);
  26566.  
  26567.  
  26568.  
  26569. #endif     /* __IFilterChain_INTERFACE_DEFINED__ */
  26570.  
  26571.  
  26572. /* Additional Prototypes for ALL interfaces */
  26573.  
  26574. unsigned long             __RPC_USER  VARIANT_UserSize(     unsigned long *, unsigned long            , VARIANT * ); 
  26575. unsigned char * __RPC_USER  VARIANT_UserMarshal(  unsigned long *, unsigned char *, VARIANT * ); 
  26576. unsigned char * __RPC_USER  VARIANT_UserUnmarshal(unsigned long *, unsigned char *, VARIANT * ); 
  26577. void                      __RPC_USER  VARIANT_UserFree(     unsigned long *, VARIANT * ); 
  26578.  
  26579. /* [local] */ HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder_FindInterface_Proxy( 
  26580.     ICaptureGraphBuilder * This,
  26581.     /* [unique][in] */ const GUID *pCategory,
  26582.     /* [in] */ IBaseFilter *pf,
  26583.     /* [in] */ REFIID riid,
  26584.     /* [out] */ void **ppint);
  26585.  
  26586.  
  26587. /* [call_as] */ HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder_FindInterface_Stub( 
  26588.     ICaptureGraphBuilder * This,
  26589.     /* [unique][in] */ const GUID *pCategory,
  26590.     /* [in] */ IBaseFilter *pf,
  26591.     /* [in] */ REFIID riid,
  26592.     /* [out] */ IUnknown **ppint);
  26593.  
  26594. /* [local] */ HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder2_FindInterface_Proxy( 
  26595.     ICaptureGraphBuilder2 * This,
  26596.     /* [in] */ const GUID *pCategory,
  26597.     /* [in] */ const GUID *pType,
  26598.     /* [in] */ IBaseFilter *pf,
  26599.     /* [in] */ REFIID riid,
  26600.     /* [out] */ void **ppint);
  26601.  
  26602.  
  26603. /* [call_as] */ HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder2_FindInterface_Stub( 
  26604.     ICaptureGraphBuilder2 * This,
  26605.     /* [in] */ const GUID *pCategory,
  26606.     /* [in] */ const GUID *pType,
  26607.     /* [in] */ IBaseFilter *pf,
  26608.     /* [in] */ REFIID riid,
  26609.     /* [out] */ IUnknown **ppint);
  26610.  
  26611. /* [local] */ HRESULT STDMETHODCALLTYPE IKsPropertySet_Set_Proxy( 
  26612.     IKsPropertySet * This,
  26613.     /* [in] */ REFGUID guidPropSet,
  26614.     /* [in] */ DWORD dwPropID,
  26615.     /* [size_is][in] */ LPVOID pInstanceData,
  26616.     /* [in] */ DWORD cbInstanceData,
  26617.     /* [size_is][in] */ LPVOID pPropData,
  26618.     /* [in] */ DWORD cbPropData);
  26619.  
  26620.  
  26621. /* [call_as] */ HRESULT STDMETHODCALLTYPE IKsPropertySet_Set_Stub( 
  26622.     IKsPropertySet * This,
  26623.     /* [in] */ REFGUID guidPropSet,
  26624.     /* [in] */ DWORD dwPropID,
  26625.     /* [size_is][in] */ byte *pInstanceData,
  26626.     /* [in] */ DWORD cbInstanceData,
  26627.     /* [size_is][in] */ byte *pPropData,
  26628.     /* [in] */ DWORD cbPropData);
  26629.  
  26630. /* [local] */ HRESULT STDMETHODCALLTYPE IKsPropertySet_Get_Proxy( 
  26631.     IKsPropertySet * This,
  26632.     /* [in] */ REFGUID guidPropSet,
  26633.     /* [in] */ DWORD dwPropID,
  26634.     /* [size_is][in] */ LPVOID pInstanceData,
  26635.     /* [in] */ DWORD cbInstanceData,
  26636.     /* [size_is][out] */ LPVOID pPropData,
  26637.     /* [in] */ DWORD cbPropData,
  26638.     /* [out] */ DWORD *pcbReturned);
  26639.  
  26640.  
  26641. /* [call_as] */ HRESULT STDMETHODCALLTYPE IKsPropertySet_Get_Stub( 
  26642.     IKsPropertySet * This,
  26643.     /* [in] */ REFGUID guidPropSet,
  26644.     /* [in] */ DWORD dwPropID,
  26645.     /* [size_is][in] */ byte *pInstanceData,
  26646.     /* [in] */ DWORD cbInstanceData,
  26647.     /* [size_is][out] */ byte *pPropData,
  26648.     /* [in] */ DWORD cbPropData,
  26649.     /* [out] */ DWORD *pcbReturned);
  26650.  
  26651.  
  26652.  
  26653. /* end of Additional Prototypes */
  26654.  
  26655. #ifdef __cplusplus
  26656. }
  26657. #endif
  26658.  
  26659. #endif
  26660.  
  26661.  
  26662.